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(std::string s) {
std::map<char,int> roman;
roman.insert(std::pair<char,int>('I',1));
roman.insert(std::pair<char,int>('V',5));
roman.insert(std::pair<char,int>('X',10));
roman.insert(std::pair<char,int>('L',50));
roman.insert(std::pair<char,int>('C',100));
roman.insert(std::pair<char,int>('D',500));
roman.insert(std::pair<char,int>('M',1000));
int res = roman[s[s.length() - 1]];
for (int i = s.length() - 2; i >= 0 ; i--)
{
if(roman[s[i+1]] <= roman[s[i]])
res += roman[s[i]];
else
res -= roman[s[i]];
}
#if 1
std::cout << res << std::endl;
#endif // 1
return res;
}
};