leetCode刷题---最大回文子串
描述: 给定一个字符串s ,找到s 中最长的回文子串, 你可以假设 s的最大长度为1000
示例1:
输入: "babad" 输出: "bab" 注意 : " aba" 也是一个有效答案
示例2:
输入: "cbbd" 输出: "bb"
以某个元素为中心,分别计算偶数长度的回文最大长度和奇数长度的回文最大长度
private int index,len; public String longestPalidrome(String s) { if(s.length() < 2) { return s; } for(int i =0;i<s.length() -1 ;i++) { // 奇数长度因为中间算了1个 PalidromeHelper(s,i,i); // 偶数长度 PalidromeHelper(S,i,i+1); } return s.subString(index,index + len); } public void PalidromeHelper(String s, int l,int r) { while( l>=0 && r< s.length() && s.charAt(l) == s.charAt(r)) { l --; r++; } if(len < r-l -1) { index = l+1; len = r- l -1; } }