leetcode-238. 除自身以外数组的乘积
class Solution { public: vector<int> productExceptSelf(vector<int>& nums) { if(nums.size()==0) return {}; vector<int> a(nums.size(),1); vector<int> b(nums.size(),1); vector<int> c(nums.size(),1); for(int i = 1; i < nums.size(); i++){ a[i] = a[i-1]*nums[i-1]; // a[i]保存的是0到i-1的乘积 } for(int i = nums.size()-2; i>=0; i--){ b[i] = b[i+1]*nums[i+1]; // b[i]保存的是i+1到末尾的乘积 } for(int i = 0; i < nums.size(); i++){ c[i] = a[i]*b[i]; // c[i] 刚好等于a[i]*b[i] } return c; } };