leetcode之Convert a Number to Hexadecimal(405)

題目:

給定一個整數,編寫一個算法將這個數轉換爲十六進制數。對於負整數,我們通常使用 補碼運算 方法。

注意:

  1. 十六進制中所有字母(a-f)都必須是小寫。
  2. 十六進制字符串中不能包含多餘的前導零。如果要轉化的數爲0,那麼以單個字符'0'來表示;對於其他情況,十六進制字符串中的第一個字符將不會是0字符。 
  3. 給定的數確保在32位有符號整數範圍內。
  4. 不能使用任何由庫提供的將數字直接轉換或格式化爲十六進制的方法。

示例 1:

輸入:
26

輸出:
"1a"

示例 2:

輸入:
-1

輸出:
"ffffffff"

python代碼:

class Solution(object):
    def toHex(self, num):
        if num<0:num = 2**32+num
        num_dict = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']
        res = ''
        while num > 15:
            res += num_dict[num%16]
            num = num // 16
        res += num_dict[num] 
        return res[::-1]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章