这题也是直接借鉴来的代码, 感觉这两道罗马字的题不是很有意思, 就直接上码了.
代码来自 https://discuss.leetcode.com/topic/7784/clean-o-n-c-solution/2
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[s.length() - 1]];
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;
}