g0401_0500.s0405_convert_a_number_to_hexadecimal.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0401_0500.s0405_convert_a_number_to_hexadecimal;
// #Easy #Math #Bit_Manipulation #2022_07_16_Time_1_ms_(71.02%)_Space_42.2_MB_(15.68%)
/**
* 405 - Convert a Number to Hexadecimal\.
*
* Easy
*
* Given an integer `num`, return _a string representing its hexadecimal representation_. For negative integers, [two’s complement](https://en.wikipedia.org/wiki/Two%27s_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.
*
* **Note:** You are not allowed to use any built-in library method to directly solve this problem.
*
* **Example 1:**
*
* **Input:** num = 26
*
* **Output:** "1a"
*
* **Example 2:**
*
* **Input:** num = -1
*
* **Output:** "ffffffff"
*
* **Constraints:**
*
* * -231 <= num <= 231 - 1
**/
public class Solution {
public String toHex(int num) {
if (num == 0) {
return "0";
}
StringBuilder sb = new StringBuilder();
int x;
while (num != 0) {
x = num & 0xf;
if (x < 10) {
sb.append(x);
} else {
sb.append((char) (x + 87));
}
num = num >>> 4;
}
return sb.reverse().toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy