13.罗马数字转整数

43 阅读1分钟

13. 罗马数字转整数 - 力扣(LeetCode)

class Solution {

map<char,int> m={
      {'I', 1},
        {'V', 5},
        {'X', 10},
        {'L', 50},
        {'C', 100},
        {'D', 500},
        {'M', 1000},
};

public:
    int romanToInt(string s) {

int ans=0;
for(int i=0;i<s.length();i++)
{

if(i<s.length()&&m[s[i]]<m[s[i+1]])
{
ans-=m[s[i]];


}
else
{
ans+=m[s[i]];
}

}
return ans;

    }
};

image.png