[LeetCode 125] Valid Palindrome
문제 요약
문자열이 주어졌을 때, 해당 문자열의 알파벳 대소문자와 숫자만 포함하여 회문인지를 판별하는 문제.
풀이
알파벳 대소문자와 숫자만을 남기는 전처리를 통해 새로운 문자열을 만든 뒤 회문임을 판별한다.
코드
class Solution {
public boolean isPalindrome(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (('a' <= c && c <= 'z') || ('0' <= c && c <= '9')) sb.append(c);
else if ('A' <= c && c <= 'Z') sb.append((char)(c - 'A' + 'a'));
}
String ss = sb.toString();
for (int i = 0; i < ss.length() / 2; i++)
if (ss.charAt(i) != ss.charAt(ss.length() - 1 - i)) return false;
return true;
}
}