最长回文子串
/** * @param {string} s * @return {string} */ var longestPalindrome = function (s) { let backTextStr = '' // 判断回文 function backText (s, left, right) { while (left >= 0 && right < s.length && s[left] === s[right]) { left-- right++ } return s.substring(left + 1, right) } for (let i = 0; i < s.length; i++) { // 以i为中心点,向两边扩散 let s1 = backText(s, i, i) backTextStr = backTextStr.length >= s1.length ? backTextStr : s1 // 以i, i+1为中心点,向两边扩散 if (s[i] === s[i + 1]) { let s2 = backText(s, i, i + 1) backTextStr = backTextStr.length >= s2.length ? backTextStr : s2 } } return backTextStr };
题目如下:
给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例 2:
输入:s = "cbbd"
输出:"bb"
示例 3:
输入:s = "a"
输出:"a"
示例 4:
输入:s = "ac"
输出:"a"
提示:
1 <= s.length <= 1000
s 仅由数字和英文字母(大写和/或小写)组成
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
posted on 2022-01-06 07:20 chinesedon007 阅读(20) 评论(0) 收藏 举报
浙公网安备 33010602011771号