• int all
      • 数组中非0的数乘积
    • int count

      • 数组的有多少个数是0
    • 如果count = 0, 没有零

      • 那么ans[i] = all除以arr[i
    • 如果count == 1,
      • 那么只有那个是0的数的位置i ans[i] = all, 数组ans其余的数都为0
    • 如果count >=2

      • 那么数组ans的数全部都是零

        
        public int[] productExceptSelf(int[] nums) {
           int zeros = 0;
           int all = 1;
           for (int num : nums) {
               if (num == 0) {
                   zeros++;
               } else {
                   all *= num;
               }
           }
        
           if (zeros > 1) {
               for (int i = 0; i < nums.length; i++) {
                   nums[i] = 0;
               }
           } else if (zeros == 1) {
               for (int i = 0; i < nums.length; i++) {
                   nums[i] = nums[i] == 0 ? all : 0;
               }
           } else {
               for (int i = 0; i < nums.length; i++) {
                   nums[i] = all / nums[i];
               }
           }
           return nums;
        }