class Solution {
public:
vector<int> multiply(const vector<int>& A) {
if (A.size() == 1) return {1};
vector<int> l, r(A.size(), 0), v;
for (int i = 0; i < A.size(); i ++) l.push_back(i == 0 ? A[i] : l[i - 1] * A[i]);
for (int i = A.size() - 1; i >= 0; i --) r[i] = (i == A.size() - 1 ? A[i] : r[i + 1] * A[i]);
for (int i = 0; i < A.size(); i ++) {
if (i == 0) v.push_back(r[i + 1]);
else if (i == A.size() - 1) v.push_back(l[i - 1]);
else v.push_back(l[i - 1] * r[i + 1]);
}
return v;
}
};
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~