LEETCODE - 【1271】十六进制魔术数字

 

 

 

 

 

 

 

 

 

class Solution {
public:
    string toHexspeak(string num) {
        stringstream ss;
        long long inter;
        //转16进制
        string hexret;
        ss << num;
        ss >> inter;
        ss.clear();
        ss << hex << inter;
        ss >> hexret;
        //获取转换关系
        map<char,char> transform = {
            {'a','A'},
            {'b','B'},
            {'c','C'},
            {'d','D'},
            {'e','E'},
            {'f','F'},
            {'1','I'},
            {'0','O'}
            };
        for(int i = 0; i < hexret.size(); ++i){
            if(transform.count(hexret[i]) == 0){
                return "ERROR";
            }
            hexret[i] = transform[hexret[i]];
        }
        return hexret;
    }
};
posted @ 2020-01-09 21:54  chiwin  阅读(256)  评论(0编辑  收藏  举报