# 除自身以外数组的乘积 (Product of Array Except Self) ## 题目描述 给你一个整数数组 nums,返回数组 answer,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。 ## 解题思路 ### 左右乘积列表 分别计算每个位置的左侧乘积和右侧乘积,然后相乘。 ## Go 代码 ```go func productExceptSelf(nums []int) []int { n := len(nums) answer := make([]int, n) // 左侧乘积 answer[0] = 1 for i := 1; i < n; i++ { answer[i] = answer[i-1] * nums[i-1] } // 右侧乘积并更新 right := 1 for i := n - 1; i >= 0; i-- { answer[i] = answer[i] * right right *= nums[i] } return answer } ``` **复杂度:** O(n) 时间,O(1) 额外空间(不包括输出数组)