1. 程式人生 > >LeetCode ---Longest Palindromic Substring

LeetCode ---Longest Palindromic Substring

ray leetcode clas [] urn char har () rar

 1 public String longestPalindrome(String s) {
 2         char[] ch = s.toCharArray();
 3         int longestLength = 0;
 4         int[] longestIndex = {0, 0};
 5         for(int i = 0; i < ch.length; i++) {
 6             int k = 0;
 7             while((i + 1) > k && (i + k) <ch.length && ch[i - k] == ch[i + k]) {
8 if((2 * k + 1) > longestLength) { 9 longestLength = 2 * k + 1; 10 longestIndex[0] = i - k; 11 longestIndex[1] = i + k; 12 } 13 k++; 14 } 15 k = 0; 16 while
(i + 1 > k && (i + k + 1) < ch.length && ch[i - k] == ch[i + k + 1]) { 17 if((2 * k + 2) > longestLength) { 18 longestLength = 2 * k + 2; 19 longestIndex[0] = i - k; 20 longestIndex[1] = i + k + 1; 21 }
22 k++; 23 } 24 } 25 return new String(ch, longestIndex[0], longestLength); 26 }

LeetCode ---Longest Palindromic Substring