My c++ Solution


  • 0
    L
    class Solution {
    public:
        int help(char c){
            switch(c){
                case 'I':
                    return 1;
                case 'V':
                    return 5;
                case 'X':
                    return 10;
                case 'L':
                    return 50;
                case 'C':
                    return 100;
                case 'D':
                    return 500;
                case 'M':
                    return 1000;
            }
        }
        
        int romanToInt(string s) {
            if(s.empty())
                return 0;
            int res = help(s[0]);
            for(int i = 1 ; i < s.size();++i){
                if(help(s[i]) <= help(s[i-1]))
                    res += help(s[i]);
                else{
                    res = res - 2*help(s[i-1]) + help(s[i]);
                }
            }
            return res;
        }
    };
    

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.