/*
1:先判断 size 为 0 或者 1 的情况,分别返回 -1 和 0
2:把数组所有的数都加一下,得到 allAddUpNumber
3:用两个数,left 和 right,遍历数组的过程不断增加 left,不断减少 right,当两个数相等的时候,返回对应的 index 数值
*/
class Solution {
public:
int pivotIndex(vector<int>& nums) {
if (nums.size() <= 0) return -1;
else if (nums.size() == 1) return 0;
int allAddUpNumber = 0;
for (int i = 0; i < nums.size(); i++) {
allAddUpNumber += nums[i];
}
int left = 0;
int right = allAddUpNumber;
for (int i = 0; i < nums.size(); i++) {
if (i > 0) left += nums[i-1];
right -= nums[i];
if (left == right) {
return i;
}
}
return -1;
}
};