您的位置:首页 > 其它

LeetCode 13 Roman to Integer

2016-04-06 19:52 555 查看


13. Roman to Integer

My Submissions

Question
Editorial Solution

Total Accepted: 79915 Total
Submissions: 205049 Difficulty: Easy

Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.

Subscribe to see which companies asked this question

Show Tags

Show Similar Problems

Have you met this question in a real interview?
Yes

No

Discuss

根据罗马数字还原10进制整数。

模拟题

O(n)从左到右扫一遍就行了。

class Solution {
public:
int romanToInt(string s)
{
int num=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='I')
num+=1;
if(s[i]=='V')
{
if(i!=0 && s[i-1]=='I')
num+=3;
else
num+=5;
}
if(s[i]=='X')
{
if(i!=0 && s[i-1]=='I')
num+=8;
else
num+=10;
}
if(s[i]=='L')
{
if(i!=0 && s[i-1]=='X')
num+=30;
else
num+=50;
}
if(s[i]=='C')
{
if(i!=0 && s[i-1]=='X')
num+=80;
else
num+=100;
}
if(s[i]=='D')
{
if(i!=0 && s[i-1]=='C')
num+=300;
else
num+=500;
}
if(s[i]=='M')
{
if(i!=0 && s[i-1]=='C')
num+=800;
else
num+=1000;
}
}
return num;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: