列表

详情


405. 数字转换为十六进制数

给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。

注意:

  1. 十六进制中所有字母(a-f)都必须是小写。
  2. 十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 
  3. 给定的数确保在32位有符号整数范围内。
  4. 不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。

示例 1:

输入:
26

输出:
"1a"

示例 2:

输入:
-1

输出:
"ffffffff"

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: string toHex(int num) { } };

javascript 解法, 执行用时: 112 ms, 内存消耗: 37.1 MB, 提交时间: 2020-08-16 18:33:01

/**
 * @param {number} num
 * @return {string}
 */
var toHex = function(num) {
    num = ( num < 0 ) ? 2**32 + num : num;
    var result = "";
    var lib = "0123456789abcdef";
    if ( num == 0 ) return "0";
    while ( num != 0 ) {
        result = lib[num % 16] + result;
        num = parseInt(num / 16 );
    }
    return result;
};

python 解法, 执行用时: 24 ms, 内存消耗: 12.3 MB, 提交时间: 2020-08-16 18:17:18

class Solution(object):    
    def toHex(self, num):
        """
        :type num: int
        :rtype: str
        """
        num = num & 0xffffffff
        result = ""
        lib = "0123456789abcdef"
        if num == 0:
            return "0"
        while num != 0:
            result = lib[num % 16] + result
            num /= 16

        return result

python 解法, 执行用时: 16 ms, 内存消耗: 12.5 MB, 提交时间: 2020-08-16 18:04:30

class Solution(object):    
    def toHex(self, num):
        """
        :type num: int
        :rtype: str
        """
        return hex(num & 0xFFFFFFFF)[2:]

上一题