Files
obsidian/АиСД/Задачи/LeetCode/Longest Palindromic Substring.md
T
roma-dxunvrs 0e6e583e6d
deploy / Pull and Restart (push) Successful in 17s
refactor: wiki links -> md links
2026-09-22 08:52:23 +03:00

25 lines
890 B
Markdown

Leetcode #5 | #Medium | [Расширение из центра](../../Методы/Расширение%20из%20центра.md)
## Идея
Идея расширения из центра и центром может быть либо i,i либо i,i+1
## Big-O
- Время ```O(N^2)```
- Память ```O(1)```
## Код
```Java
class Solution {
public String longestPalindrome(String s) {
String res = "";
for (int i = 0; i < s.length(); i++) {
String p1 = expand(s, i, i);
String p2 = expand(s, i, i + 1);
if (p1.length() > res.length()) res = p1;
if (p2.length() > res.length()) res = p2;
}
return res;
}
private String expand(String s, int l, int r) {
while (l >= 0 && r < s.length() && s.charAt(l) == s.charAt(r)) { l--; r++; }
return s.substring(l + 1, r);
}
}
```