const expandAroundCenter = (s, left, right) => { while (left >= 0 && right < s.length && s[left] === s[right]) { left-- right++ } return right - left - 1 }
for (let i = 0; i < s.length; i++) { let len1 = expandAroundCenter(s, i, i) let len2 = expandAroundCenter(s, i, i + 1) let len = Math.max(len1, len2) if (len > end - start + 1) { start = i - Math.floor((len - 1) / 2) // len可能是偶数或者奇数,计算左边界时,len需要减一 end = i + Math.floor(len / 2) } } return s.substring(start, end + 1) }