13. Roman to Integer

来源:互联网 发布:nginx alias用法 编辑:程序博客网 时间:2024/05/20 22:27

基本跟上一题一样,就是判断每一个罗马数字是否比后面的大,大就减,小就加。

class Solution {public:    int romanToInt(string s) {        unordered_map<char, int> T = { {'I', 1},                                       {'V', 5},                                       {'X', 10},                                       {'L', 50},                                       {'C', 100},                                       {'D', 500},                                       {'M', 1000} };        int sum = T[s.back()];        for(int i = s.length() - 2; i >= 0; -- i){            if(T[s[i]] < T[s[i + 1]]) sum -= T[s[i]];            else sum += T[s[i]];        }        return sum;    }};
0 0