题目
解题思路
- 将原num通过每次右移4位,然后与运算1111,也就是15,这样就能得到每4位的值;
- 然后找到对应Hex字符放到StringBuider();
- 最后记得反转,以及去"0";
Code
class Solution {
char[] hexArr = "0123456789abcdef".toCharArray();
public String toHex(int num) {
StringBuilder sb = new StringBuilder("");
if (num == 0) {
return "0";
}
int crossAND = 15, count = 8;
while (count != 0) {
int curr = num & crossAND;
sb.append(hexArr[curr] + "");
num >>= 4;
count--;
}
String res = sb.reverse().toString();
while (res.startsWith("0")) {
res = res.substring(1, res.length());
}
return res;
}
}
代码运行截图