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 <kbd> 94.87%</kbd> of csharp submissions.