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