leetcode13 罗马数字转整数

偷懒,就在12的基础上改了一下

class Solution {
public:
    int romanToInt(string s) {
        map<int,string> calc = {{1000,"M"},{900,"CM"},{500,"D"},{400,"CD"},{100,"C"}, {90,"XC"},{50,"L"},{40,"XL"},{10,"X"},{9,"IX"},{5,"V"},{4,"IV"},{1,"I"}};
        map<int,string>::reverse_iterator iter=calc.rbegin();
        int ret=0;
        while(iter!=calc.rend())
        {
            int len=(iter->second).length();
            if(len>s.length())
                iter++;
            else if(s.substr(0,len)==iter->second){
                ret+=iter->first;
                s=s.substr(len);
            }
            else
                iter++;
        }
        return ret;
    }
};
原文地址:https://www.cnblogs.com/lqerio/p/11755350.html