public int[] productExceptSelf(int[] nums) {
int n=nums.length;
int[] ans=new int[n];
ans[0]=1;//先向右遍历,计算i之前的积
for (int i = 1; i < n; i++) {
ans[i]=nums[i-1]*ans[i-1];
}
int suf=1;//再向左遍历,记录右边乘积,乘以ans
for (int i = n-2; i >=0 ; i--) {
suf*=nums[i+1];
ans[i]*=suf;
}
return ans;
}