leetcode-13罗马字符转整数

Posted yocichen

tags:

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

leetcode-13罗马字符转整数

  算法:转换的规律是先逐字符按照对应的阿拉伯数字累加,然后对于特殊的(I、X、C出现在左侧)要处理。处理方法:出现特殊字符组合减去双倍的左侧字符(在开始的处理中已经加过一次,而实际的结果中却是要减去,那么就需要在加的基础上减去两倍)。

Code:

vertion : Java

 1 class Solution {
 2     public int romanToInt(String s) {
 3         int ans = 0;
 4         //处理特定字符
 5         if(s.indexOf("IV") != -1)
 6         {
 7             ans += -2;
 8         }
 9         if(s.indexOf("IX") != -1)
10         {
11             ans += -2;
12         }
13         if(s.indexOf("XL") != -1)
14         {
15             ans += -20;
16         }
17         if(s.indexOf("XC") != -1)
18         {
19             ans += -20;
20         }
21         if(s.indexOf("CD") != -1)
22         {
23             ans += -200;
24         }
25         if(s.indexOf("CM") != -1)
26         {
27             ans += -200;
28         }
29         
30         //逐字符处理
31         for(int i=0; i<s.length(); i++)
32         {
33             char c = s.charAt(i);
34             switch(c)
35             {
36                 case \'I\':
37                     ans += 1;
38                 break;
39                 case \'V\':
40                     ans += 5;
41                 break;
42                 case \'X\':
43                     ans += 10;
44                 break;
45                 case \'L\':
46                     ans += 50;
47                 break;
48                 case \'C\':
49                     ans += 100;
50                 break;
51                 case \'D\':
52                     ans += 500;
53                 break;
54                 case \'M\':
55                     ans += 1000;
56                 break;
57             }
58         }
59         return ans;
60     }
61 }

 

以上是关于leetcode-13罗马字符转整数的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 13. 罗马数字转整数

LeetCode 13. 罗马数字转整数

LeetCode 13. 罗马数字转整数

leetcode 13. 罗马数字转整数

leetcode13. 罗马数字转整数 🌟

LeetCode 13.罗马数字转整数