题目

暴力破解

var productExceptSelf = function(nums) {
  let zeroNum = 0;
  let mutily = 1;
  let arr = [];
  nums.map((item)=>{
    if(item!=0){
      mutily*=item;
    }else{
      zeroNum++;
    }
  })
  if(zeroNum>1)return Array(nums.length).fill(0);
  nums.map((item)=>{
    if(zeroNum===0){
      arr.push(mutily / item);
    }else{
      if(item!=0){
        arr.push(0);
      }else{
        arr.push(mutily);
      }
    }
  })
  return arr;
};

左右乘积

var productExceptSelf = function(nums) {
  let front = [1];
  let before = [1];
  let len = nums.length;
  for(let i=1;i<len;i++){
    front.push(front[front.length-1]*nums[i-1]);
    before.unshift(before[0]*nums[len-i]);
  }
  let arr = [];
  for(let i=0;i<len;i++){
    arr[i] = front[i] * before[i];
  }
  return arr;
};