LeetCode(9) - Palindrome Number
문제
integer x가 주어질 때, x가 Palindrome(회문)을 만족하면 true를 return, 아니라면 false를 리턴
입력
x = 121
출력
true
풀이
- 입력
x를 string으로 변환 - 앞부분을 가르키는 index
front와 뒷부분을 가르키는 indexback을 만들어 앞부분은 증가를, 뒷부분은 감소하며 전체 string 비교 front가back보다 커질 때 까지 비교하여front가back보다 커진다면 회문으로 판단, 순회를 종료하고true반환. 비교 중 다른 값이 나온다면 곧바로false반환
코드
class Solution {
public:
bool isPalindrome(int x) {
string s = to_string(x);
int front = 0, back = s.size() - 1;
while (front <= back) {
if (s[front++] != s[back--])
return false;
}
return true;
}
};
참고
- to_string은 library에 있음