classSolution{public:
vector<int>productExceptSelf(vector<int>& nums){
vector<int>ans(nums.size(),1);for(int ii = nums.size()-2; ii >=0; ii--){
ans[ii]= ans[ii+1]* nums[ii+1];}int left =1;for(int ii =0; ii < nums.size(); ii++){
ans[ii]*= left;
left *= nums[ii];}return ans;}};
classSolution{public:
vector<int>productExceptSelf(vector<int>& nums){
vector<int>ans(nums.size(),0);
vector<int>right(nums.size(),1);for(int ii = nums.size()-2; ii >=0; ii--){
right[ii]= right[ii+1]* nums[ii+1];}int left =1;for(int ii =0; ii < nums.size(); ii++){
ans[ii]= left * right[ii];
left *= nums[ii];}return ans;}};