map存键值对;
每一个数都遍历,左边数<右边数就直接减,遍历到右边数又会加回来;
class Solution {
public:
unordered_map<char, int> svalue = {
{'I', 1},
{'V', 5},
{'X', 10},
{'L', 50},
{'C', 100},
{'D', 500},
{'M', 1000},
};
int romanToInt(string s) {
int rs = 0;
int n = s.size();
for(int i = 0; i < n; i++){
int value = svalue[s[i]];
if(value < svalue[s[i+1]]){
rs -= value;
}
else{
rs += value;
}
}
return rs;
};
};