ずっと5月

3日坊主してます

LeetCode#3 Palindrome Number

今日はEasyのPalindrome Numberをやった。 回文数っていうらしい。
数字を逆さまにした時に同じならtrue, 違うならfalseを返す。(負の数の場合、マイナスも一文字としてカウントするので問答でfalseになる)
先日のReverse Integerと同じように一の位から順番にポップ&プッシュして回分数を作るといい。 で、愚直にやったのがこれ。

class Solution {
    func isPalindrome(_ x: Int) -> Bool {
        var origin:Int = x
        var palindrome:Int = 0
        while origin > 0 {
            palindrome = palindrome * 10
            palindrome += origin % 10
            origin = origin / 10
        }
        return palindrome == x
    }
}

Stringにキャストして、String.reversed()したら一行でできるらしい。