lc13 Roman to Integer

lc13 Roman to Integer

遇到那六种特殊情况分别-2,-20,-200,

按照罗马数字的规则,每种只可能出现一次。所以只需要考虑一次,用indexOf()即可判断是否出现这几种特殊情况

然后遍历s,按照每个字符的定义,加上value即可

 1 class Solution {
 2     public int romanToInt(String s) {
 3         int res = 0;
 4     
 5         if(s.indexOf("IV") != -1)
 6             res -= 2;
 7         if(s.indexOf("IX") != -1)
 8             res -= 2;
 9         if(s.indexOf("XL") != -1)
10             res -= 20;
11         if(s.indexOf("XC") != -1)
12             res -= 20;
13         if(s.indexOf("CD") != -1)
14             res -= 200;
15         if(s.indexOf("CM") != -1)
16             res -= 200;
17         
18         
19         for(char i : s.toCharArray()){
20             if(i == 'I')
21                 res += 1;
22             if(i == 'V')
23                 res += 5;
24             if(i == 'X')
25                 res += 10;
26             if(i == 'L')
27                 res += 50;
28             if(i == 'C')
29                 res += 100;
30             if(i == 'D')
31                 res += 500;
32             if(i == 'M')
33                 res += 1000;
34         }
35            
36         
37     
38         
39         return res;
40     }
41 }

 

转载于:https://www.cnblogs.com/hwd9654/p/10966853.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值