解题思路
通过样例我们可以知道,将目标对应值和下一个目标对应值进行比较,如果小于,则sum=sum+目标
对应值,如果大于,则sum=sum-目标对应值。最终的sum就是正确答案。
相关代码
class Solution {
public:
int romanToInt(string s) {
unordered_map<char,int> a;
a['I']=1;
a['V']=5;
a['X']=10;
a['L']=50;
a['C']=100;
a['D']=500;
a['M']=1000;
int sum=0;
for(int i=0;i<s.size();i++){
if(i+1<s.size()&&a[s[i+1]]>a[s[i]]){
sum=sum-a[s[i]];
}
else{
sum=sum+a[s[i]];
}
}
return sum;
}
};
标签:13,int,sum,LeetCode,unordered,罗马数字,ia,目标,对应
From: https://blog.csdn.net/weixin_55057111/article/details/137400877