一、題目大意
https://leetcode.cn/problems/base-7
給定一個整數 num,將其轉化為 7 進制,并以字串形式輸出,
示例 1:
輸入: num = 100
輸出: "202"
示例 2:
輸入: num = -7
輸出: "-10"
提示:
- -107 <= num <= 107
二、解題思路
輸入一個整數,輸出一個字串,表示其七進制,
進制轉換類的題,通常是利用除法和取模來進行計算,同時也要注意一些細節,如負數和零,如果輸出是數字型別而非字串,則也需要考慮是否會超出整數上下界,
舉例:100,求其7進制
100 / 7 = 14 ...... 2
14 / 7 = 2 ...... 0
七進制數為最后一位商+余數倒排
三、解題方法
3.1 Java實作
public class Solution {
public String convertToBase7(int num) {
if (num == 0) {
return "0";
}
boolean isNegative = num < 0;
num = isNegative ? -num : num;
StringBuilder ans = new StringBuilder();
while (num >= 7) {
int a = num / 7;
int b = num % 7;
ans.append(b);
num = a;
}
ans.append(num);
return (isNegative ? "-" : "") + ans.reverse();
}
}
四、總結小記
- 2022/8/2 余數和模的區別?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/500777.html
標籤:其他
