力扣-238.除自身以外数组的乘积
题目链接
238.除自身以外数组的乘积
class Solution {public int[] productExceptSelf(int[] nums) {int[] prefix = new int[nums.length];int[] suffix = new int[nums.length];int[] res = new int[nums.length];int p = 1;for (int i = 0; i < nums.length; i++) {p *= nums[i];prefix[i] = p;}int s = 1;for (int i = nums.length - 1; i >= 0; i--) {s *= nums[i];suffix[i] = s;}res[0] = suffix[1];for (int i = 1; i < nums.length - 1; i++) {res[i] = prefix[i - 1] * suffix[i + 1];}res[nums.length - 1] = prefix[nums.length - 2];return res;}
}
小结:左右乘积列表,空间换时间。