All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0401_0500.s0405_convert_a_number_to_hexadecimal.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
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