class Solution { public: vector<int> multiply(const vector<int>& A) { vector<int> res; int n = A.size(); res.push_back(1); //res中存每个累积的乘积 for(int i = 1; i < n; i++){ res.push_back(res.back() *A[i-1]); } //tmp累积从后往前的乘积 int tmp = 1; for(int i = res.size()-1; i >= 0; i--){ res[i] = res[i]*tmp; tmp *= A[i]; } return res; } };
原文:https://www.cnblogs.com/chengsheng/p/10692904.html