leetcode 504. Base 7

来源:互联网 发布:java中的getclass方法 编辑:程序博客网 时间:2024/06/05 02:52

python leetcode

504. Base 7

Given an integer, return its base 7 string representation.


将十进制转为7进制,其他进制的转换类似。

记住几个常见的内置函数。bin(),hex(),oct()....分别是十进制数转二进制,十六机制,和八进制。

Example 1:

Input: 100Output: "202"

Example 2:

Input: -7Output: "-10"

Note: The input will be in range of [-1e7, 1e7].


#coding=utf-8
#编写10进制转7进制的函数,并返回字符串形式
class Solution(object):
    def convertToBase7(self, num):
        """
        :type num: int
        :rtype: str
        """
        if num==0:return '0'
        if num<0:
            return '-'+self.convertToBase7(-num)
        result=''#保存结果的
        while num>0:
            result=str(num%7)+result
            num//=7
        return result

    def convertToBase7_1(self,num):
        if num==0:return '0'
        n,res=abs(num),''#都按正数来处理,最后进行判断,为负数加个负号就行了
        while n:
            res=str(n%7)+res
            n/=7
        return res if num>0 else '-'+res

S=Solution()
print S.convertToBase7_1(-7)

0 0