leetcode 504. Base 7

Given an integer, return its base 7 string representation.

Example 1:

Input: 100
Output: "202"

Example 2:

Input: -7
Output: "-10"

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

复制代码
class Solution(object):
    def convertToBase7(self, num):
        """
        :type num: int
        :rtype: str
        """
        """
        Input: 100
Output: "202"
100%7=14,2
14%7=2,0
2%7=2,xxx
        """
        is_neg = False
        if num < 0:            
            num = -num
            is_neg = True
        ans = ""
        while num >= 7:
            ans = str(num%7) + ans
            num = num/7
        ans = str(num) + ans
        return ans if not is_neg else "-"+ans
复制代码

 

or

复制代码
class Solution(object):
    def convertToBase7(self, num):
        """
        :type num: int
        :rtype: str
        """
        """
        Input: 100
Output: "202"
100%7=14,2
14%7=2,0
2%7=2,xxx
        """
        if num == 0:
            return '0'
        is_neg = False
        if num < 0:            
            num = -num
            is_neg = True        
        ans = ""
        while num != 0:
            ans = str(num%7) + ans
            num = num/7        
        return ans if not is_neg else "-"+ans
复制代码

使用递归:

复制代码
class Solution(object):
    def convertToBase7(self, num):
        """
        :type num: int
        :rtype: str
        """
        if num < 0:
            return "-"+self.convertToBase7(-num)
        if num < 7:
            return str(num)
        return self.convertToBase7(num/7) + str(num%7)
复制代码

 

posted @   bonelee  阅读(250)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2017-04-06 bleve搜索引擎源码分析之索引——mapping真复杂啊
2017-04-06 我的vim 配置——nerdtree、ack vim、vim sneak
点击右上角即可分享
微信分享提示