Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
class Solution {
public:
int romanToInt(string s) {
unordered_map< char, int> mapping;
mapping['M'] = 1000;
mapping['D'] = 500;
mapping['C'] = 100;
mapping['L'] = 50;
mapping['X'] = 10;
mapping['V'] = 5;
mapping['I'] = 1;
int res = 0;
for( int i = 0; i < s.size(); ++i){
if( i > 0 && mapping[s[i]] > mapping[s[i-1]])//处理4和9的情况
res += mapping[s[i]] - 2 * mapping[s[i-1]];
else
res += mapping[s[i]];
}
return res;
}
};