LeetCode简单题之数字转换为十六进制数
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之数字转换为十六进制数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目
給定一個整數(shù),編寫一個算法將這個數(shù)轉換為十六進制數(shù)。對于負整數(shù),我們通常使用 補碼運算 方法。
注意:
十六進制中所有字母(a-f)都必須是小寫。
十六進制字符串中不能包含多余的前導零。如果要轉化的數(shù)為0,那么以單個字符’0’來表示;對于其他情況,十六進制字符串中的第一個字符將不會是0字符。
給定的數(shù)確保在32位有符號整數(shù)范圍內。
不能使用任何由庫提供的將數(shù)字直接轉換或格式化為十六進制的方法。
示例 1:
輸入:
26
輸出:
“1a”
示例 2:
輸入:
-1
輸出:
“ffffffff”
來源:力扣(LeetCode)
解題思路
??一般計算機語言都有關于進制轉換的庫,在python里有內置的函數(shù)hex(),但是題目規(guī)定了不能用,那么可以采用其他的方法,比如輾轉相除法。
class Solution:def toHex(self, num: int) -> str:if num==0:return '0'if num<0:num=2**32+numtemp=''nums=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']while num>0:temp=nums[num%16]+tempnum//=16return temp
總結
以上是生活随笔為你收集整理的LeetCode简单题之数字转换为十六进制数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之旅行终点站
- 下一篇: LeetCode简单题之通过翻转子数组使