#문제설명

#문제 풀이
풀이 1.
class Solution {
public boolean isPalindrome(String s) {
s = s.toLowerCase().replaceAll("[^a-z0-9]", "");
int right = s.length() - 1, left = 0;
while(right >= left){
if(s.charAt(left) != s.charAt(right)){
return false;
}
right--;
left++;
}
return true;
}
}
풀이 2.
public class Solution {
public boolean isPalindrome(String s) {
if (s.isEmpty()) {
return true;
}
int head = 0, tail = s.length() - 1;
char cHead, cTail;
while(head <= tail) {
cHead = s.charAt(head);
cTail = s.charAt(tail);
if (!Character.isLetterOrDigit(cHead)) {
head++;
} else if(!Character.isLetterOrDigit(cTail)) {
tail--;
} else {
if (Character.toLowerCase(cHead) != Character.toLowerCase(cTail)) {
return false;
}
head++;
tail--;
}
}
return true;
}
}
'LeetCode > String' 카테고리의 다른 글
[Easy] 20. Valid Parentheses (0) | 2022.11.14 |
---|---|
[Medium] 49. Group Anagrams (Amazon) (1) | 2022.09.20 |
[Medium] 1663. Smallest String With A Given Numeric Value (Microsoft) (0) | 2022.09.20 |
[Medium] 856. Score of Parentheses (0) | 2022.09.12 |
[Medium] 5. Longest Palindromic Substring (구글 코딩 테스트 기출 문제) (0) | 2022.09.11 |