class Solution { public int[] productExceptSelf(int[] nums) { int[] res = new int[nums.length]; //left 为该数左边的乘积 int left = 1; //right 为该数右边的乘积 int right = 1; for(int i = 0;i < res.length; i++){ //此时res数组 存放的是除去当前元素 左边的元素乘积 res[i] = left; left = left * nums[i]; } for(int i = res.length - 1;i >= 0; i--){ // 此时res数组 等于 左边的 * 右边的 res[i] = res[i] * right; right = right * nums[i]; } return res; } }