Algorithm/LeetCode
[string] valid palindrome
sw_develop
2025. 3. 8. 11:05
✅ Problem
https://leetcode.com/problems/valid-palindrome/description/
✅ Approach & Solution
방식)
더보기
- 주어진 문자열만 사용해 비교
- Character 클래스의 isLetterOrDigit(), toLowerCase()
- String 클래스의 charAt()
- 투 포인터 사용해 문자열의 앞, 뒤 비교
class Solution {
public boolean isPalindrome(String s) {
// 조건
// 대소문자 상관 X
// 문자 or 숫자
// 앞에서 읽었을 때, 뒤에서 읽었을 때 동일
boolean result = true;
int start = 0;
int end = s.length() - 1;
while (start < end) {
if (!Character.isLetterOrDigit(s.charAt(start))) {
start++;
} else if (!Character.isLetterOrDigit(s.charAt(end))) {
end--;
} else {
if (Character.toLowerCase(s.charAt(start)) != Character.toLowerCase(s.charAt(end))) {
result = false;
break;
}
start++;
end--;
}
}
return result;
}
}