给定一个整数,将其转化为7进制,并以字符串形式输出。
示例 1:
输入: 100
输出: “202”
示例 2:
输入: -7
输出: “-10”
注意: 输入范围是 [-1e7, 1e7] 。
方法一:利用到栈的思想
import java.util.Stack;
class Solution {
public String convertToBase7(int num) {
Stack<Character> stack=new Stack<Character>();
boolean flag=num>=0?true:false;
if(!flag)
{
num*=(-1);
}
char c;
c=(char)((num%7)+48);
stack.push(c);
while(num/7!=0){
num/=7;
c=(char)((num%7)+48);
stack.push(c);
}
StringBuilder stringB=new StringBuilder();
while(!stack.isEmpty()){
stringB.append(stack.pop());
}
return flag==false?"-"+String.valueOf(stringB):String.valueOf(stringB);
}
}
方法二:
import java.util.Stack;
class Solution {
public String convertToBase7(int num) {
if(num<0)
return "-"+convertToBase7(-num);
if(num<7)
return num+"";
return convertToBase7(num/7)+num%7;
}
}