Skip to content

Commit 74e96d6

Browse files
Sean PrashadSean Prashad
authored andcommitted
Update 5_Longest_Palindromic_Substring.java
1 parent f569a4e commit 74e96d6

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed
Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
class Solution {
22
public String longestPalindrome(String s) {
3-
if (s == null || s.length() == 0) {
4-
return s;
5-
}
3+
int len = s.length();
64

7-
int start = 0, end = 0, n = s.length();
8-
boolean[][] dp = new boolean[n][n];
5+
boolean[][] dp = new boolean[len][len];
6+
String result = "";
97

10-
for (int i = n - 1; i >= 0; i--) {
11-
for (int j = i; j < n; j++) {
12-
dp[i][j] = s.charAt(i) == s.charAt(j) && (j - i < 2 || dp[i + 1][j - 1]);
8+
for (int i = len - 1; i >= 0; i--) {
9+
for (int j = i; j < len; j++) {
10+
dp[i][j] = s.charAt(i) == s.charAt(j) && (j - i < 3 || dp[i + 1][j - 1]);
1311

14-
if (dp[i][j] && j - i > end - start) {
15-
start = i;
16-
end = j;
12+
if (dp[i][j] && j - i + 1 > result.length()) {
13+
result = s.substring(i, j + 1);
1714
}
1815
}
1916
}
2017

21-
return s.substring(start, end + 1);
18+
return result;
2219
}
2320
}

0 commit comments

Comments
 (0)