题目描述:
主要思路:
正逆各扫一遍,利用数组存储当前数左边和右边的乘积。
class Solution {
public:vector<int> productExceptSelf(vector<int>& nums) {int n=nums.size();vector<int> ans;int l[n+1],r[n+1];l[0]=1,r[n]=1;for(int i=n-1;i>=0;--i)r[i]=r[i+1]*nums[i];for(int i=0;i<n;++i){ans.push_back(r[i+1]*l[i]);l[i+1]=l[i]*nums[i];}return ans;}
};