分为左右两部分计算,各自递归得到结果后相乘

# -*- coding:utf-8 -*-
class Solution:
    def multiply(self, A):
        # write code here
        left,right=[1,A[0]],[A[-1],1]
        for i in range(1,len(A)-1):
            left.append(left[-1]*A[i])
            right.insert(0,right[0]*A[-i-1])
        return [left[i]*right[i] for i in range(len(A))]