# 找到数组的中间位置
- 找到数组的中间位置
来源:力扣(LeetCode) 链接 (opens new window):https://leetcode.cn/problems/palindromic-substrings/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# 问题
给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。
回文字符串 是正着读和倒过来读一样的字符串。
子字符串 是字符串中的由连续字符组成的一个序列。
具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串
输入:s = "abc"
输出:3
解释:三个回文子串: "a", "b", "c"
# 思路
中间位置等于两边和相等的位置
var pivotIndex = function (nums) {
function calcLeft(index, nums) {
if (index === 0) {
return 0;
}
const left = nums.slice(0, index);
return left.reduce((a, b) => a + b, 0);
}
function calcRight(index, nums) {
if (index === nums.length - 1) {
return 0;
}
const right = nums.slice(index + 1);
return right.reduce((a, b) => a + b, 0);
}
for (let index = 0; index < nums.length; index++) {
let left = calcLeft(index, nums);
let right = calcRight(index, nums);
if (left === right) {
return index;
}
}
return -1;
};