Tony's Log

Algorithms, Distributed System, Machine Learning

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
class Solution {
public:
    int romanToInt(string s) 
    {
        std::unordered_map<char, int> hm;
        hm['M'] = 1000;
        hm['D'] = 500;
        hm['C'] = 100;
        hm['L'] = 50;
        hm['X'] = 10;
        hm['V'] = 5;
        hm['I'] = 1;
                
        int i = 0, len = s.length(), ret = 0;
        while(i < len)
        {
            char c = s[i];
            if(i < len - 1 && hm[s[i + 1]] > hm[s[i]])
            {
                ret += hm[s[i + 1]] - hm[s[i]];
                i ++;
            }
            else
            {
                ret += hm[s[i]];
            }
            i ++;
        }
        return ret;
    }
};
posted on 2015-06-30 04:48  Tonix  阅读(135)  评论(0编辑  收藏  举报