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; } };