Maple's Blog.

Leetcode-13

字数统计: 350阅读时长: 1 min
2019/04/08 Share

romanToInt-链接

实现的代码如下:

这道题不难,就是字多了点给人的感觉好像很难,其实就是你自己多用几个if else 然后将它给的特殊情况涵盖进去就可以了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
class Solution {
public:
int romanToInt(string s) {
int sum=0;
int m=s.size();
for(int i=0;i<s.size();i++)
{
if(s[i]=='M')
{
sum+=1000;
}
else if(s[i]=='D')
{
sum+=500;
}
else if(s[i]=='C')
{
if((i+1<m&&s[i+1]=='D')||(i+1<m&&s[i+1]=='M'))
{
sum-=100;
}
else
sum+=100;
}
else if(s[i]=='L')
{
sum+=50;
}
else if(s[i]=='X')
{
if((i+1<m&&s[i+1]=='L')||(i+1<m&&s[i+1]=='C'))
{
sum-=10;
}
else
sum+=10;
}
else if(s[i]=='V')
{
sum+=5;
}
else if(s[i]=='I')
{
if((i+1<m&&s[i+1]=='V')||(i+1<m&&s[i+1]=='X'))
{
sum-=1;
}
else
sum+=1;
}
}
return sum;

}
};

这道题给我的印象很深,因为这是自己在LeetCode上做的第一道题,很明显,自己错到了怀疑人生,很简单的题都不会的时候,我就觉得自己不应该去做题了,而应该去看看一些东西,学习一些知识后再来做题。

没错,就是这幅图~~(>_<)~~

CATALOG