leetcode

作者: 二十岁的弹簧 | 来源:发表于2018-12-03 11:50 被阅读0次

题目:判断一个数字是否问回文数

负数不是回文数

# 1.我的想法,将数字翻转,看是否与原先的数字相同
# 2.在翻转过程中就进行判断是否相同,伪折半对比
# 3.折半对比,判断逻辑更优美简洁,循环逻辑折半
class Solution:
    def one(self, s):
        if s < 0:
            return False
        ret = 0
        target = s
        while s > 0:
            ret = ret * 10 + s % 10
            s = s // 10
        if ret == target:
            return True
        else:
            return False
    
    def two(self, s):
        if s < 0:
            return False
        found = False
        ret = 0
        target = s
        while s > 0:
            ret = ret * 10 + s % 10
            if ret == s:
                found = True
                break
            s = s // 10
            if ret == s:
                found = True
                break
        return found
    
    def three(self, s):
        if s < 0:
            return False
        ret = 0
        while ret < s:
            ret = ret * 10 + s % 10
            s = s // 10
        found = (ret == s) or (ret // 10 == s)
        return found

相关文章

网友评论

      本文标题:leetcode

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