一道简单题,最近实现的效率都不是很高
public class Solution {
public static void main(String[] args){
}
public String convertToBase7(int num) {
String res = "";
boolean flag = false;
if(num==0) return "0";
if(num<0){
num = -num;
flag = true;
}
List<Integer> ir = new ArrayList<Integer>();
while(num!=0){
int r= num % 7;
ir.add(r);
num = (num-r)/7;
}
if(flag) res += "-";
for(int i= ir.size()-1;i>=0;i--){
res += ir.get(i);
}
return res;
}
}
还是 StringBuilder的效率高
public class Solution {
public String convertToBase7(int num) {
if (num == 0) return "0";
StringBuilder sb = new StringBuilder();
boolean negative = false;
if (num < 0) {
negative = true;
}
while (num != 0) {
sb.append(Math.abs(num % 7));
num = num / 7;
}
if (negative) {
sb.append("-");
}
return sb.reverse().toString();
}
}
716

被折叠的 条评论
为什么被折叠?



