In this **Leetcode Convert a Number to Hexadecimal problem solution** we have given an integer num, return a string representing its hexadecimal representation. For negative integers, two’s complement method is used.

All the letters in the answer string should be lowercase characters, and there should not be any leading zeros in the answer except for the zero itself.

## Problem solution in Python.

def toHex(self, num: int) -> str: if num == 0: return "0" mp = "0123456789abcdef" rs = "" for i in range(8): rs = mp[num % 16] + rs num = num >> 4 return rs.lstrip('0')

## Problem solution in Java.

public String toHex(int num) { if(num==0) return "0"; String s = ""; String hex[] = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"}; for(int i=1;i<=8;i++){ int modified_num = num & 15; s = hex[modified_num]+s; num = num>>4; if(num==0) break; } return s; }

## Problem solution in C++.

string toHex(int num) { char s[9]; sprintf(s, "%x", num); return string(s); }

## Problem solution in C.

char * toHex(int num){ if (num == 0) return "0"; unsigned int n = (num > 0) ? num : ((INT_MAX + 1)* 2 + num); char *hex = calloc(2 * sizeof(int) + 1, sizeof(char)); for (int i = 0; n; i++, n /= 16) { hex[i] = n % 16; hex[i] = hex[i] < 10 ? (hex[i] + '0') : (hex[i] - 10 + 'a'); } int hexSize = strlen(hex); hex = realloc(hex, (hexSize + 1) * sizeof(char)); for (int l = 0, r = hexSize - 1; l < r; l++, r--) { hex[l] = hex[l] ^ hex[r]; hex[r] = hex[l] ^ hex[r]; hex[l] = hex[l] ^ hex[r]; } return hex; }

## 0 Comments