We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 61995ee commit d3c1f99Copy full SHA for d3c1f99
longest-palindromic-substring/Jeehay28.ts
@@ -0,0 +1,26 @@
1
+// TC: O(n^2)
2
+// SC: O(1)
3
+function longestPalindrome(s: string): string {
4
+ if (s.length < 2) return s;
5
+
6
+ let maxLeft = 0;
7
+ let maxRight = 0;
8
9
+ const expandWindow = (left: number, right: number): void => {
10
+ while (left >= 0 && right < s.length && s[left] === s[right]) {
11
+ if (maxRight - maxLeft < right - left) {
12
+ maxRight = right;
13
+ maxLeft = left;
14
+ }
15
+ left--;
16
+ right++;
17
18
+ };
19
20
+ for (let i = 0; i < s.length; i++) {
21
+ expandWindow(i, i); // odd length palindrome
22
+ expandWindow(i, i + 1); // even length palindrome
23
24
25
+ return s.slice(maxLeft, maxRight + 1);
26
+}
0 commit comments