首页 > 代码库 > LeetCode ---Longest Palindromic Substring

LeetCode ---Longest Palindromic Substring

 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