## 405. Convert a Number to Hexadecimal

Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complement method is used.

**Note:**

- All letters in hexadecimal (
`a-f`

) must be in lowercase. - The hexadecimal string must not contain extra leading
`0`

s. If the number is zero, it is represented by a single zero character`'0'`

; otherwise, the first character in the hexadecimal string will not be the zero character. - The given number is guaranteed to fit within the range of a 32-bit signed integer.
- You
**must not use**which converts/formats the number to hex directly.*any*method provided by the library

**Example 1:**

Input: 26 Output: "1a"

**Example 2:**

Input: -1 Output: "ffffffff"

## Rust Solution

```
struct Solution;
#[allow(clippy::wrong_self_convention)]
impl Solution {
fn to_hex(num: i32) -> String {
format!("{:x}", num)
}
}
#[test]
fn test() {
let num = -1;
let res = "ffffffff";
assert_eq!(Solution::to_hex(num), res);
}
```

Having problems with this solution? Click here to submit an issue on github.