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) {
map<char, int> roman;
roman['I'] = 1;
roman['X'] = 10;
roman['C'] = 100;
roman['M'] = 1000;
roman['V'] = 5;
roman['L'] = 50;
roman['D'] = 500;
int len = s.size();
int sum = roman[s[len-1]];
//cout << sum << endl;
char cur = s[len-1];
for (int i=len-2; i>=0; i--) {
if (roman[s[i]] >= roman[cur]) {
sum += roman[s[i]];
} else {
sum -= roman[s[i]];
}
//cout << sum << endl;
cur = s[i];
}
return sum;
}
};