class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型vector
*/
//思路res按顺序求前i个数的乘积,后逆序处理res
vector<int> timesExceptSelf(vector<int>& nums) {
// write code here
int n=nums.size();
vector<int> res(n,1);
res[0]=nums[0];//第一个位置需特殊处理
for(int i=1;i<n;i++){
res[i]=res[i-1]*nums[i];
}
int temp1=1;//用于记录 i +1到 n-1 个数的乘积方便后面直接与res的前 i-1 的乘积得出结果
for(int i=n-1;i>0;i--){
res[i]=res[i-1]*temp1;
temp1*=nums[i];
}
res[0]=temp1;//第一个位置特殊处理
return res;
}
};