leetcode 504. Base 7

来源:互联网 发布:网络上icbc是什么意思 编辑:程序博客网 时间:2024/06/04 18:58

一道简单题,最近实现的效率都不是很高

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();    }}