能力有限,这道题采用的就是暴力方法,也只超过了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之间。


  

 class Solution {
public int romanToInt(String s) {
int length=s.length();
int num=0;
for(int i=0;i<length;i++){
switch (s.charAt(i)) {
case 'I':{
if((i+1!=length)&&s.charAt(i+1)!='I'){
num-=1;
break;
}
else {
num+=1;
break;
}
}
case 'X':
if((i+1!=length)&&((s.charAt(i+1)=='M')||(s.charAt(i+1)=='D')||(s.charAt(i+1)=='C')||(s.charAt(i+1)=='L'))){
num-=10;
break;
}
else {
num+=10;
break;
}
case 'C':
if((i+1!=length)&&((s.charAt(i+1)=='M')||(s.charAt(i+1)=='D'))){
num-=100;
break;
}
else {
num+=100;
break;
}
case 'M':
num+=1000;
break;
case 'V':
num+=5;
break;
case 'L':
num+=50;
break;
case 'D':
num+=500;
break;
default:
break;
}
}
return num;
}
}

最新文章

  1. spring boot properties
  2. 4.openstack之mitaka搭建glance镜像服务
  3. VS2012中数据库架构的比较
  4. mac安装软件管家homebrew
  5. eclipse生成jar包
  6. mysql之innodb_buffer_pool
  7. jquery sortTable拖拽排序
  8. 视频文件列表hover添加视频播放按钮
  9. list映射
  10. sizeof strlen区别于联系
  11. MVC输出字符串常用四个方式
  12. Java类与类之间的继承关系
  13. 传智播客微金所项目实战移动web开发
  14. windows7用WMware安装Linux虚拟机详细步骤
  15. 使用ajax请求数据时的几种做法
  16. 虚拟键盘 input 挡住
  17. HTTP协议各个参数详解
  18. Gradle Goodness: Task Output Annotations Create Directory Automatically
  19. 关于JS的clone()函数编写的一些问题
  20. 一点一点看JDK源码(五)java.util.ArrayList 后篇之SubList

热门文章

  1. 图论算法》关于tarjan算法两三事
  2. laravel 队列
  3. validate 不校验的解决办法
  4. 11-vector的使用
  5. MRPT - Mobile Robot Programming Toolkit
  6. xgboost dmatrix中的 weight的重要性
  7. SparkR 读取数据&amp; Spark运行的配置
  8. R语言读取MySQL数据表
  9. keys()
  10. 树形DP-HDU1561 The more, The Better