LeetCode 504. 七进制数

题目来源:https://leetcode-cn.com/problems/base-7/comments/

给定一个整数,将其转化为7进制,并以字符串形式输出。

示例 1:

输入: 100
输出: "202"

示例 2:

输入: -7
输出: "-10"

注意: 输入范围是 [-1e7, 1e7] 。

思路:
进制转换类的题目,先取模再整除,循环到0为止。注意负数的处理,负数的%运算会得到预期外的结果,转成正数再做处理。

class Solution:
    def convertToBase7(self, num: int) -> str:
        if num == 0:
            return '0'
        sign = 1
        if num < 0:
            num = abs(num)
            sign = -1
        
        res = ''
        while num > 0:
            res = str(num % 7) + res
            num //= 7
        
        if sign == -1:
            return '-' + res
        
        return res

你可能感兴趣的:(LeetCode 504. 七进制数)