可以使用这张图来辅助理解,蓝色的部分在第一次循环中,红色的部分在第二次循环中。
import java.util.ArrayList;
public class Solution {
public int[] multiply(int[] A) {
int[] b=new int[A.length];
int multi = 1;
b[0] = 1;
for(int i=1;i<A.length;i++){
multi *= A[i-1];
b[i] = multi;
}
multi = 1;
for(int i=A.length-2;i>=0;i--){
multi *= A[i+1];
b[i] *= multi;
}
return b;
}
} 
京公网安备 11010502036488号