LeetCode—504. 七进制数
01题目描述:
给定一个整数,将其转化为7进制,并以字符串形式输出。
示例
输入: 100
输出: "202"
示例 2:
输入: -7
输出: "-10"
注意: 输入范围是 [-1e7, 1e7] 。
02题目分析:
首先要注意到的是输出的范围是[-1e7, 1e7]
,。我刚刚开始就没有考虑到这一个问题。正常来说输入一个 -7
应该输出的结果是 -10
,但是我的输出是 1-0
这一个符号 -
的位置没有处理好。所以我就在前面直接的 abs
一哈。再去处理,这样的话无论是正数还是负数的处理方式都是一样。但是这样的话,正负都一样了啊,所以在题目的最前面设置一个 flag
,默认是 0
,接着判断,如果是 num>0
的话就赋值为 flag=1
.这样就把正负区分开来了.最后返回 return
的时候判断一哈,是否拼接符号 -
就可以了!
03解答:
class Solution:
def convertToBase7(self, num: int) -> str:
str1 = ''
flag =0
if abs(num)==num:
flag=1
num = abs(num)
while num >6:
Remainder = num%7
num = num // 7
str1 = str1 + str(Remainder)
str1 = str1+str(num)
if flag==1:
return str1[::-1]
else:
return '-'+str1[::-1]
运行结果:
3.1耗时分布情况
3.2内存使用情况
04结语:
个人记录,新手入门,多多学习,欢迎大家交流探讨!
个人网站: http://106.54.78.238/
song_of _sea的个人网站 http://106.54.78.238/