题目传送
一个前缀乘积,再来一个后缀乘积就可以了,后缀的空间可以省略
class Solution {
public:
vector<int> constructArr(vector<int>& a) {
vector<int> v;
for(int i = 0;i < a.size();i++){
if(i == 0) v.push_back(a[i]);
else{
v.push_back(v[i-1]*a[i]);
}
}
int temp = 1;
for(int i = a.size()-1;i >= 0;i--){
if(i == 0) v[i] = temp;
else v[i] = v[i-1]*temp;
temp *= a[i];
}
return v;
}
};