text: /*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 0s. 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 any method provided by the library which converts/formats the number to hex directly.
  Example 1:
  
  Input:
  26
  
  Output:
  "1a"
  Example 2:
  
  Input:
  -1
  
  Output:
  "ffffffff"
  
  来源：力扣（LeetCode）
  链接：https://leetcode-cn.com/problems/convert-a-number-to-hexadecimal
  著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。*/
  
  class Solution {
  public:
      string toHex(int num) {
          if(!num) return "0";
          vector<char> base = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
          uint num1 = num;
          string ans;
          while(num1){
              ans = base[num1%16]+ans;
              num1 = num1/16;
          }
          return ans;
      }
  };