LC.13. 罗马数字转整数(模拟)

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LC.13. 罗马数字转整数(模拟)相关的知识,希望对你有一定的参考价值。

LC.13. 罗马数字转整数(模拟)

只需判断当前字符是否小于它的下一个字符,小于则减,否则加。

class Solution {
public:
    int romanToInt(string s) {
        map<char,int>mp;
        mp['I']=1;
        mp['V']=5;
        mp['X']=10;
        mp['L']=50;
        mp['C']=100;
        mp['D']=500;
        mp['M']=1000;
        int n=s.size();
        int f=1;
        int ans=0;
        for(int i=0;i<n;i++){
            if(i<n-1&&mp[s[i]]<mp[s[i+1]]) ans-=mp[s[i]];
            else ans+=mp[s[i]];
        }
        return ans;
    }
};

以上是关于LC.13. 罗马数字转整数(模拟)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 12 - 整数转罗马数字 - [简单模拟]

JavaScript笔试题(js高级代码片段)

LeetCode 13. 罗马数字转整数 java 两种解法

LeetCode 13. 罗马数字转整数 java 两种解法

LeetCode 13. 罗马数字转整数 java 两种解法

小Y学算法⚡️每日LeetCode打卡⚡️——9.罗马数字转整数