21 lines
692 B
Markdown
21 lines
692 B
Markdown
Leetcode #125 | #Easy | [[Два указателя]]
|
|
## Идея
|
|
Два указателя навстречу, пропуск всех ненужных символов
|
|
## [[Big-O]]
|
|
- Время ```O(N)```
|
|
- Память ```O(1)```
|
|
## Код
|
|
```Java
|
|
class Solution {
|
|
public boolean isPalindrome(String s) {
|
|
int l = 0, r = s.length() - 1;
|
|
while (l < r) {
|
|
while (l < r && !Character.isLetterOrDigit(s.charAt(l))) l++;
|
|
while (l < r && !Character.isLetterOrDigit(s.charAt(r))) r--;
|
|
if (Character.toLowerCase(s.charAt(l)) != Character.toLowerCase(s.charAt(r))) return false;
|
|
l++; r--;
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
``` |