本文共 943 字,大约阅读时间需要 3 分钟。
给你一个字符串 s,找到 s 中最长的回文子串。
力扣链接:
https://leetcode-cn.com/problems/longest-palindromic-substring/1.如果字符串长度小于2,直接返回原字符串 2.定义两个变量,一个start存储当前找到的最大回文字符串的起始位置 另一个maxLength记录字符串的长度(终止位置就是start+maxLength) 3.创建一个helper function,判断左边和右边是否越界, 同时最左边的字符是否等于最右边的字符, 如果以上3个条件都满足,则判断是否需要更新回文字符串最大长度以及最大字符串的起始位置。 然后将left--;right++,继续判断,直到不满足三个条件之一。 4。遍历字符串,每个位置调用helper function两遍, 第一遍检查i-1,i+1 第二遍检查i,i+1
var longestPalindrome = function(s) { if(s.length<2){ return s } let maxLength=1,start = 0; function ExpendsAroundCenter(left,right) { while(left>=0&&rightmaxLength){ maxLength = right-left+1 start = left } left --; right ++; } } for(let i=0;i
转载地址:http://jqfki.baihongyu.com/