C#版 - Leetcode 504. 七进制数 - 题解

C#版 - Leetcode 504. 七进制数 - 题解

Leetcode 504. Base 7

在线提交:
https://leetcode.com/problems/base-7/

题目描述

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

示例 1:

输入: 100
输出: "202"

示例 2:

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

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


  ●  题目难度: 简单
  • 通过次数:707

  • 提交次数:1.8K

  • 贡献者:bic2017


思路:

此题要求将10进制数转为7进制的字符串。每次取出输入的数的最后一位,放入StringBuilder中,然后做个反序操作(先转为Char Array,然后使用Array的Reverse操作)。

已AC代码:

public class Solution
{
    public string ConvertToBase7(int num)
    {
        if (num == 0)
            return "0";

        StringBuilder sb = new StringBuilder();
        int n = num > 0 ? num : -num;
        while (n > 0)
        {
            var r = n % 7;
            n /= 7;
            sb.Append(r);
        }
        char[] charArr = sb.ToString().ToCharArray();
        Array.Reverse(charArr);

        if (num > 0)
            return new string(charArr);

        return "-" + new string(charArr);
    }
}

Rank:
You are here! Your runtime beats 94.87% of csharp submissions.

转载于:https://www.cnblogs.com/enjoy233/p/10408730.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值