Hexspeak
给一个用字符串表示的数, 返回一个十六进制的数, 只包含字母. 这个题看眼input, 一定要用long. 剩下就是常规
class Solution {
public String toHexspeak(String num) {
Map<Long, Character> map = new HashMap<>();
map.put(0l, 'O');
map.put(1l, 'I');
map.put(10l, 'A');
map.put(11l, 'B');
map.put(12l, 'C');
map.put(13l, 'D');
map.put(14l, 'E');
map.put(15l, 'F');
Long n = Long.parseLong(num);
StringBuilder sb = new StringBuilder();
while(n > 0) {
if(map.containsKey(n % 16)){
sb.append(map.get(n % 16));
n /= 16;
}
else{
return "ERROR";
}
}
return sb.reverse().toString();
}
}