Skip to content

Commit ee466d9

Browse files
35.Longest Palindromic Substring
1 parent af41102 commit ee466d9

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

35.Longest Palindromic Substring.cpp

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
// Problem Description: https://leetcode.com/problems/longest-palindromic-substring/
3+
4+
class Solution {
5+
public:
6+
string longestPalindrome(string s) {
7+
int l, r, resl, resr, reslen = 0;
8+
string res;
9+
for (int i = 0; i < s.size(); i++)
10+
{
11+
l = r = i;
12+
helper(s, l, r, resl, resr, reslen);
13+
l = i;
14+
r = i + 1;
15+
helper(s, l, r, resl, resr, reslen);
16+
17+
}
18+
return s.substr(resl, resr - resl + 1);
19+
20+
}
21+
void helper(string& s, int& l, int& r, int& resl, int& resr, int& reslen)
22+
{
23+
while (l >= 0 && r < s.size() && s[l] == s[r])
24+
{
25+
if (r - l + 1 > reslen)
26+
{
27+
resl = l;
28+
resr = r;
29+
reslen = r - l + 1;
30+
}
31+
l -= 1;
32+
r += 1;
33+
}
34+
}
35+
};

0 commit comments

Comments
 (0)