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 - 整数转罗马数字 - [简单模拟]
LeetCode 13. 罗马数字转整数 java 两种解法
LeetCode 13. 罗马数字转整数 java 两种解法