- 一、题目
- 二、解题思路
- 三、Java代码
一、题目 二、解题思路
整数num包含正数、负数和0。
1.首先考虑0,若num=0,则直接以字符串形式返回“0”。
2.若整数为负数,则先把它变成正数,再进行下一步操作。
3.将数进行7进制转换,7进制为除7取余的过程。
4.将所得余数逆序输出,变得最终结果。(要注意,若所给数为负数,此时还得将结果变为负数形式)
class Solution {
public String convertTobase7(int num) {
if(num==0) //所给数字为0的情况
return "0";
StringBuilder sc=new StringBuilder();
boolean isNegative=num<0; //若为负数,要先转换成正数进行计算
if(isNegative){
num=-num;
}
while(num>0){ //将十进制转换为7进制(不断除7取余)
sc.append(num%7);
num/=7;
}
String result=sc.reverse().toString(); //将所得余数逆序输出
return isNegative?"-"+result:result; //若最初所给数为负数,现在再变回复数形式
}
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/base-7
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。



