美文网首页
leetcode 504. 七进制数

leetcode 504. 七进制数

作者: fanchuang | 来源:发表于2020-02-18 10:50 被阅读0次

    没看评论,自己写的,执行效率一般

    class Solution:
        def convertToBase7(self, num: int) -> str:
    
            def helper(num):
                temp = []
                b = num % 7    # 这是第一个余数,最初测试的时候就保存的,最终也是需要用到的
                while num // 7 >= 7:
                    num = num // 7  # 如果 a 是大于7 的话, 那么就继续除下去,但是需要把余数保存下来
                    temp.insert(0, num % 7)
                    # print("At now, num is :  ", num, temp)
                else:
                    # 此时的 a 是小于7    比如 8 = 7*1 +1
                    temp.insert(0, num // 7)
                temp.append(b)
                return ''.join([str(i) for i in temp])
    
            if num >= 7:
                return helper(num)
            # 对于负数的话,直接取绝对值,然后按照上面的来就行了。
            elif num <= -7:
                return "-" + helper(abs(num))
            else:
                # num > -7 and num < 7:
                return str(num) 
    

    相关文章

      网友评论

          本文标题:leetcode 504. 七进制数

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