其左边所有元素的乘积 * 其右边所有元素的乘积。一轮循环构建左边的乘积并保存在结果集中,二轮循环 构建右边乘积的过程,乘以左边的乘积并得到最终结果
class Solution {
public int[] constructArr(int[] a) {
int len = a.length;
if(len == 0) return new int[]{};
int[] result = new int[len];
result[0] = 1;
for(int i = 1; i < len; i++){
result[i] = result[i - 1]*a[i - 1];
}
for(int i = len - 2; i >= 0; i--){
result[i] = result[i]*a[i + 1];
a[i] = a[i]*a[i + 1];
}
return result;
}
}