Leetcode: Convert a Number to Hexadecimal
Posted neverlandly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode: Convert a Number to Hexadecimal相关的知识,希望对你有一定的参考价值。
Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complement method is used. Note: All letters in hexadecimal (a-f) must be in lowercase. The hexadecimal string must not contain extra leading 0s. If the number is zero, it is represented by a single zero character ‘0‘; otherwise, the first character in the hexadecimal string will not be the zero character. The given number is guaranteed to fit within the range of a 32-bit signed integer. You must not use any method provided by the library which converts/formats the number to hex directly. Example 1: Input: 26 Output: "1a" Example 2: Input: -1 Output: "ffffffff"
记住要delete begining 0
1 public class Solution { 2 public String toHex(int num) { 3 StringBuffer res = new StringBuffer(); 4 String[] charMap = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"}; 5 for (int i=0; i<8; i++) { 6 int number = num & (0b1111); 7 num = num >>> 4; 8 res.insert(0, charMap[number]); 9 } 10 while (res.charAt(0)==‘0‘ && res.length()>1) res.deleteCharAt(0); 11 return res.toString(); 12 } 13 }
要记住单独处理 num == 0的情况
1 public class Solution { 2 public String toHex(int num) { 3 if (num == 0) return "0"; 4 StringBuffer res = new StringBuffer(); 5 String[] charMap = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"}; 6 while (num != 0) { 7 int number = num & (0b1111); 8 num = num >>> 4; 9 res.insert(0, charMap[number]); 10 } 11 return res.toString(); 12 } 13 }
以上是关于Leetcode: Convert a Number to Hexadecimal的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode OJ 108. Convert Sorted Array to Binary Search Tree DFS求解
leetcode 405. Convert a Number to Hexadecimal
[leetcode-405-Convert a Number to Hexadecimal]
leetcode 405. Convert a Number to Hexadecimal
[LeetCode]题解(python):108-Convert Sorted Array to Binary Search Tree