您的位置:首页 > 其它

LeetCode405 Convert a Number to Hexadecimal

2016-10-22 21:16 453 查看
LeetCode405
Convert a Number to Hexadecimal

想到了一种新的方法,比以前的方法的效率要稍微好一些

public class solution {

public String toHex(int num) {

StringBuffer sb = new StringBuffer();
//使用逻辑右移的方式进行处理
char[] arr = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
if(num == 0) return "0";
else if(num > 0) {
while(num > 0) {
sb.append(arr[num & 15]);
num = num >>> 4;
}
return sb.reverse().toString();
}
else if(num < 0) {
num = -num - 1;
while(num > 0) {
sb.append(arr[15 - num & 15]);
num = num >>> 4;
}
while(sb.length() < 8) {
sb.append("f");
}
return sb.reverse().toString();
}
return null;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: