码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode记录之13——Roman to Integer

时间:2017-09-03 15:34:34      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:rom   range   整数   i++   pre   for   def   case   方法   

能力有限,这道题采用的就是暴力方法,也只超过了39%的用户。需要注意的就是罗马数字如果IXC的后一位比前一位大的采取的是减的方式。

  Given a roman numeral, convert it to an integer.

  Input is guaranteed to be within the range from 1 to 3999.

  给定一个罗马数字,将其转换为整数。

  输入保证在1到3999之间。


 

  

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

 

LeetCode记录之13——Roman to Integer

标签:rom   range   整数   i++   pre   for   def   case   方法   

原文地址:http://www.cnblogs.com/vincentme/p/7469566.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!