classSolution{public:vector<int>productExceptSelf(vector<int>&nums){constintn=nums.size();vector<int>ans(n);// Can also use nums as the ans arrayvector<int>prefix(n,1);// Prefix productvector<int>suffix(n,1);// Suffix productfor(inti=1;i<n;++i)prefix[i]=prefix[i-1]*nums[i-1];for(inti=n-2;i>=0;--i)suffix[i]=suffix[i+1]*nums[i+1];for(inti=0;i<n;++i)ans[i]=prefix[i]*suffix[i];returnans;}};
classSolution{publicint[]productExceptSelf(int[]nums){finalintn=nums.length;int[]ans=newint[n];// Can also use nums as the ans arrayint[]prefix=newint[n];// Prefix productint[]suffix=newint[n];// Suffix productprefix[0]=1;for(inti=1;i<n;++i)prefix[i]=prefix[i-1]*nums[i-1];suffix[n-1]=1;for(inti=n-2;i>=0;--i)suffix[i]=suffix[i+1]*nums[i+1];for(inti=0;i<n;++i)ans[i]=prefix[i]*suffix[i];returnans;}}