该题较为简单,但是需要知道罗马数字的表示以及取值。用了一下map,其实之前没用过,但仔细看了一下跟python的字典实际上差不多,扫了一遍函数就直接可以用了、
class Solution {
public:
int romanToInt(string s) {
unordered_map<char, int> Dic = { { 'I' , }, { 'V' , }, { 'X' , }, { 'L' , }, { 'C' , }, { 'D' , }, { 'M' , } };
int sum = Dic[s.back()];
for(int i = s.length() - ; i >= ; --i){
sum += (Dic[s[i]] < Dic[s[i+]] ? -Dic[s[i]] : Dic[s[i]]);
}
return sum;
}
};