
求解代码
java
public int pivotIndex(int[] nums) {
int leftSum = 0;
int rightSum = 0;
// 遍历数组,把所有元素的和存入 rightSum,
// 此时 rightSum 是 "整个数组的和"
for (int num : nums) {
rightSum += num;
}
for (int i = 0; i < nums.length; i++) {
// 从总和中减去当前元素,rightSum 变为"下标i右侧所有元素的和"
rightSum -= nums[i];
// 判断"右侧和"是否等于"左侧和",相等则当前i就是中心下标
if (rightSum == leftSum) {
return i;
}
// 将当前元素加入左侧和,为下一个下标的判断做准备
leftSum += nums[i];
}
return -1;
}