很久之前做的这道题了,昨天被朋友问起来,竟然不会了,于是乎又开始了思索。最终还是翻开了曾经做的答案,怎么越来越迷糊了!
public class ProductofArrayExceptSelf {
public int[] productExceptSelf(int[] nums) {
int len = nums.length;
if(len < 2)
{
return nums;
}
int[] result = new int[len];
result[len - 1] = 1;
for(int i = len - 1;i > 0;i --)
{
result[i - 1] = result[i] * nums[i];
}
int left = 1;
for(int i = 0;i < len;i ++)
{
result[i] = result[i] * left;
left = left * nums[i];
}
return result;
}
}