美文网首页
2022-03-07 「504. 七进制数」

2022-03-07 「504. 七进制数」

作者: 柠香萌萌鸡 | 来源:发表于2022-03-06 09:29 被阅读0次

今日简单题:https://leetcode-cn.com/problems/base-7/
一开始看到题目觉得也太简单了吧,就是不断除以7,把余数拿去乘以10的n次方。
再仔细看一下,题目要求以String类型输出,其实直接把余数拼接到字符串的尾部就好了。
由于String是不可变对象,这里就要引入StringBuffer。

三者继承关系
感兴趣可以看这里:https://www.runoob.com/java/java-stringbuffer.html

题目易错点在于:

  1. num需要判断0和负数的情况,开始我想的是直接把num存在另一个int中,到最后写个if else判断,后来看了答案,发现前面就直接用Boolean存储判断结果,更节省空间;
  2. 最后的StringBuffer要转成String返回,同时由于字符串append都是在结尾添加,所以要利用reverse()方法做反转。

最后贴下自己的答案:

class Solution {
    public String convertToBase7(int num) {
        if (num == 0) {
            return "0";
        }
        Boolean flag = num < 0;
        num = Math.abs(num);
        StringBuffer ans = new StringBuffer();
        while (num > 0) {
            ans.append(num%7);
            num /=7;
        }
        if (flag) {
            ans.append("-");
        }
        return ans.reverse().toString();
    }
}

相关文章

网友评论

      本文标题:2022-03-07 「504. 七进制数」

      本文链接:https://www.haomeiwen.com/subject/khigrrtx.html