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
0
s. 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"
Code T: O(1)
class Solution: def toHex(self, num): ans, d = "", {10:‘a‘, 11:‘b‘, 12:‘c‘, 13:‘d‘, 14:‘e‘, 15:‘f‘} if num == 0: return "0" if num < 0: num = 2**32 + num while num > 0: tem, rem = divmod(num, 16) if rem > 9: ans += d[rem] else: ans += str(rem) num = tem return ans[::-1]
原文地址:https://www.cnblogs.com/Johnsonxiong/p/9545947.html
时间: 2024-10-09 05:30:41