1,题目描述
2,题目分析
乘积 = 当前数左边的乘积 * 当前数右边的乘积
3,代码实现
class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
vector<int>result(nums.size(), 0);
int k = 1;
for (int i = 0; i < result.size(); i++){
result[i] = k;
k = k * nums[i]; // 此时数组存储的是除去当前元素左边的元素乘积
}
k = 1;
for (int i = result.size() - 1; i >= 0; i--){
result[i] *= k; // k为该数右边的乘积。
k *= nums[i]; // 此时数组等于左边的 * 该数右边的。
}
return result;
}
};