将数组进行两次遍历,第一遍将nums[i]左边的数组相乘,第二次从后往前遍历,可将nums[i]右边的数组相乘
public class Solution {
public int[] productExceptSelf(int[] nums) {
int N = nums.length;
if(N <= 1) return nums;
int[] output = new int[N];
output[0] = 1;
for(int i = 1; i < N; i++){
output[i] = output[i - 1] * nums[i - 1];
}
int right = 1;
for(int i = N - 1; i >= 0; i--){
output[i] *= right;
right *= nums[i];
}
return output;
}
}