领扣(LeetCode)七进制数 个人题解
给定一个整数,将其转化为7进制,并以字符串形式输出。
示例 1:
输入: 100 输出: "202"
示例 2:
输入: -7 输出: "-10"
注意: 输入范围是 [-1e7, 1e7] 。
这种题型比较经典了。想法模拟人工做法,将其对7取模,得到的数字保存在字符串的最前面,并把那个数除以7,重复以上过程。
不过要注意0的特判,以及如果是负数,要在输出前添加负号。
代码如下:
1 class Solution { 2 public String convertToBase7(int num) { 3 if(num==0) 4 return "0"; 5 String ans=""; 6 String zf=""; 7 if(num<0) 8 { 9 zf="-"; 10 num=-num; 11 } 12 while(num>0) 13 { 14 ans=String.valueOf(num%7)+ans; 15 num/=7; 16 } 17 return zf+ans; 18 } 19 }