题目描述
给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]*A[i+1]...*A[n-1]。不能使用除法。
这道题目其实可以用很简单的思路来做:用数组B1记录从前到后的乘积B1[i]=A[0]A[1]..A[i],数组B2记录从后到前的乘积B2[i]=A[i]A[i+1]..A[n-1],由此我们可以知道B[i]=B1[i-1]B2[i+1],当然对第一个元素和最后一个元素要做特殊处理
import java.util.ArrayList; public class Solution { public int[] multiply(int[] A) { int length = A.length; int[] B1 = new int[length]; int[] B2 = new int[length]; int[] B = new int[length];