题目
解法:
写个while循环,单独处理特殊情况即可
class Solution {
public:int romanToInt(string s) {
unordered_map<char,int> mapping{
{
'I', 1},{
'V', 5},{
'X', 10},{
'L', 50},{
'C', 100},{
'D', 500},{
'M', 1000}};int res = 0;int i = 0;while(i<s.size()){
if(i+1 < s.size() && mapping[s[i]] < mapping[s[i+1]]){
res += mapping[s[i+1]] - mapping[s[i]];i += 2;}else{
res += mapping[s[i]];i++;}}return res;}
};