美文网首页
Roman to Integer

Roman to Integer

作者: 张小盒small | 来源:发表于2019-08-04 13:10 被阅读0次
    class Solution {
    public:
        int romanToInt(string s) {
            int i =0;
            int next = 0;
            int res = 0;
            map<char,int> maproman;
            maproman.insert(pair<char, int>('I', 1));
            maproman.insert(pair<char, int>('V', 5));
            maproman.insert(pair<char, int>('X', 10));
            maproman.insert(pair<char, int>('L', 50));
            maproman.insert(pair<char, int>('C', 100));
            maproman.insert(pair<char, int>('D', 500));
            maproman.insert(pair<char, int>('M', 1000));
            while (i<s.length()){
                next = i + 1;
                if (next>=s.length()){
                   return res +  maproman[s[i]];
                }
                else if (maproman[s[i]]>=maproman[s[next]]){
                    res += maproman[s[i]];
                    i++;
                }
                else{
                    res += maproman[s[next]] - maproman[s[i]];
                    i+=2;
                }
            }
            return res;
        }
    };
    
    image.png

    相关文章

      网友评论

          本文标题:Roman to Integer

          本文链接:https://www.haomeiwen.com/subject/uktydctx.html