class Solution {
public:
int romanToInt(string s) {
int i =0;
int next = 0;
int res = 0;
map<char,int> maproman;
maproman.insert(pair<char, int>('I', 1));
maproman.insert(pair<char, int>('V', 5));
maproman.insert(pair<char, int>('X', 10));
maproman.insert(pair<char, int>('L', 50));
maproman.insert(pair<char, int>('C', 100));
maproman.insert(pair<char, int>('D', 500));
maproman.insert(pair<char, int>('M', 1000));
while (i<s.length()){
next = i + 1;
if (next>=s.length()){
return res + maproman[s[i]];
}
else if (maproman[s[i]]>=maproman[s[next]]){
res += maproman[s[i]];
i++;
}
else{
res += maproman[s[next]] - maproman[s[i]];
i+=2;
}
}
return res;
}
};
image.png
网友评论