分别计算某一个元素左右两边的元素累加和,计算完毕之后,遍历这两个数组的过程中,如果某一对应(i对应nums.size()-i-1,也就是数组中的任意对称位置的下标)位置的累加和是相等的,那么就直接返回,否则在未找到的前提下返回-1.
class Solution {
public:
int pivotIndex(vector<int>& nums) {
vector<int>left;
vector<int>right;
int sumleft=0;
for(int i=0;i<nums.size();i++)
{
sumleft+=nums[i];
left.push_back(sumleft);
}
int sumRight=0;
for(int i=nums.size()-1;i>=0;i--)
{
sumRight+=nums[i];
right.push_back(sumRight);
}
for(int i=0;i<nums.size();i++)
{
if(left[i]==right[nums.size()-i-1])
{
return i;
}
}
return -1;
}
};