美文网首页
回文数-09

回文数-09

作者: smile_frank | 来源:发表于2021-06-09 11:24 被阅读0次
    func isPalindrome(_ x:Int) -> Bool {
    
        //首先要排除直接就不符合回文数的条件
        if x < 0 || x % 10 == 0 && x != 0 {
            return false
        }
        var num = x
        var reserse = 0
        //控制反转数字回转为输入数字的一半,然后反转的相当于是后半部分,然后首尾相比较
        while reserse < num {
            reserse = reserse * 10 + num % 10
            num = num / 10
        }
        //num == reserse / 10 是针对是奇数位的整数处理,奇数位反转后之后末尾的会多了1位数
        return reserse == num || num == reserse / 10
    }
    //时间复杂度:O(log10(n))
    

    相关文章

      网友评论

          本文标题:回文数-09

          本文链接:https://www.haomeiwen.com/subject/qgqeeltx.html