Swift LeetCode 시리즈 9: palindrome-number

1227 단어
https://leetcode.com/problems/palindrome-number/description/
palindrome-number: 회문수, 쉽게 이해하면 대칭수
해결: 매번 첫 번째 수와 마지막 수를 취하여 비교하고 비교한 후 원데이터가 0이 될 때까지 처음과 끝을 제거한다.
class Solution {
    func isPalindrome(_ x: Int) -> Bool {
        
        if x < 0 {
             return false
        }
        
        var div = 1
        var num = x
        while (num / div >= 10) {
            div = div * 10
        }
        
        while(num != 0) {
            let left = num / div
            let right = num % 10 
            if left != right {
                return false
            }
            num = (num - left * div) / 10
            div = div / 100
        }
        return true
        
    }
}
class Solution {
    func isPalindrome(_ x: Int) -> Bool {
        guard x >= 0 else {
            return false
        }
        var num = String(x)
        while(num.count > 1) {
            guard let first = num.first else { return false }
            guard let last = num.last else { return false }
            guard first == last else { return false }
            num.removeFirst()
            num.removeLast()
        }
        return true
    }
}

좋은 웹페이지 즐겨찾기