题目要求
解题思路
我们发现若当前的罗马数字小于下一个的罗马数字就要减去当前的罗马数字,否则就要加上当前的罗马数字
代码实现
class Solution
{
public:unordered_map<char,int> um={{'I',1},{'V',5},{'X',10},{'L',50},{'C',100},{'D',500},{'M',1000}};int romanToInt(string s) {int ret=0;for(int i=0;i<s.size();i++){um[s[i]]>=um[s[i+1]]?ret+=um[s[i]]:ret-=um[s[i]];}return ret;}
};