一开始想着就特别复杂,想用hashmap 和 array去做,写了20行 心累。
public class Solution {
public String toHex(int num) {
char[] map = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; //用char 数组就很好,无需用hashmap; 平时很少用到
String result ="";
if (num ==0) return "0";
while(num!=0){
result = map[(num&15)]+result;
num = num >>> 4;
}
return result ;
}
}
1. char数组 很好用;
2. 无符号 右移 >>> 忽略符号位,空位都以0补齐
value >>> num ; 相当于 value 除以 2 的num次方
大神的方法太好了!
网友评论