짱아의 개발 기록장

LeetCode : 9. Palindrome Number 본문

Algorithm/LeetCode

LeetCode : 9. Palindrome Number

jungahshin 2020. 12. 28. 11:28
반응형

팰린드롬인지 판별하는 문제였다.

크게 2가지 방법으로 해결할 수 있었다.

1. for문으로 문자열 역전하기

시간복잡도 : O(n)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public:
    bool isPalindrome(int x) {
        string original = to_string(x);
        string reversed = "";
        for(int i=original.size()-1; i>=0; i--){
            reversed += original[i];
        }
        
        if(original==reversed){
            return true;
        }
        
        return false;
    }
};
cs

 

2. 나머지와 몫으로 문자열 역전하기

시간복잡도 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public:
    bool isPalindrome(int x) {
        if(x<0return false;
        
        long long reversed = 0, remainder, original = x;
        
        while(x!=0){
            remainder = x%10;
            reversed = reversed*10 +remainder;
            x /= 10;
        }
        
        return original==reversed;
    }
};
cs

 

반응형
Comments