1. 问题描述:
给定一个整数,将其转化为7进制,并以字符串形式输出。
示例 1:
输入: 100
输出: "202"
示例 2:
输入: -7
输出: "-10"
注意: 输入范围是 [-1e7, 1e7] 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/base-7
2. 思路分析:
分析题目可以知道我们模拟十进制转为七进制的过程即可,也即除7取余,这里需要注意的是n为负数的情况,先转为正数再统一处理。
3. 代码如下:
class Solution:
def convertToBase7(self, n: int) -> str:
if n == 0: return "0"
t = n
n = abs(n)
res = list()
while n > 0:
res.append(str(n % 7))
n //= 7
# 翻转一下并将其转为字符串
res = "".join(res[::-1])
if t < 0: res = "-" + res
return res