leetcode: 9. Palindrome Number

kldaji·2021년 12월 24일
1

leetcode

목록 보기
19/56

문제링크

풀이1

  • String
class Solution {
    fun isPalindrome(x: Int): Boolean {
        if (x < 0) return false
        val str = x.toString()
        return str == str.reversed()
    }
}

풀이2

  • Int
class Solution {
    fun isPalindrome(x: Int): Boolean {
        if (x < 0) return false
        var reversedInt = 0
        var temp = x
        while (temp > 0) {
            reversedInt = reversedInt * 10 + temp % 10
            temp = temp / 10
        }
        return x == reversedInt
    }
}

풀이3

  • Half Int
class Solution {
    fun isPalindrome(x: Int): Boolean {
        if (x < 0 || (x != 0 && x % 10 == 0)) return false
        var reversedInt = 0
        var temp = x
        while (temp > reversedInt) {
            reversedInt = reversedInt * 10 + temp % 10
            temp = temp / 10
        }
        return (temp == reversedInt || temp == (reversedInt / 10))
    }
}
profile
다양한 관점에서 다양한 방법으로 문제 해결을 지향하는 안드로이드 개발자 입니다.

0개의 댓글