🔥

LeetCode 9. Palindrome Numberを理解し忘れないようにする

2024/09/07に公開

https://leetcode.com/problems/palindrome-number/description/

問題概要

数字xが与えられる。それを反転した際に元の数値と同じかどうかを判定する。

解き方1

10^9 < 2^{31} < 10^{10}なので最大の計算量は9~10回程度、よって計算量は意識しなくてよい問題
文字列に直して反対にして確認

class Solution {
public:
    bool isPalindrome(int x) {
        string s = to_string(x);
        string cs = s;
        reverse(cs.begin(),cs.end());
        return s == cs;
    }
};
runtime memory
18ms 11.77

他の成果者と比べてパフォーマンスが悪いので2,3で改善を行いたい

解き方2

数値に直して確認、メモリー的には文字列に直すよりも優しい
後ほど

解き方3

数値を半分に分けた状態で確認
後ほど

Discussion