13.Roman to Integer
来源:互联网 发布:ibatis mysql 分页 编辑:程序博客网 时间:2024/05/20 21:19
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
解析:1、M=1000 D=500 C=100 L=50 X=10 V=5 I=1
2、若小的罗马符号出现在大的罗马符号的前面,则小的罗马符号代表的数字改为负。这种情况只能出现有限的情况。
public class Solution { public int romanToInt(String s) { char com = 'a'; int flag = 0; int res = 0; for(int i=s.length()-1;i>=0;i--){ com = s.charAt(i); switch (com) { case 'I': if(flag >= 1){ res -= 1; }else{ res += 1; } flag = 0; break; case 'V': res += 5; flag = 1; break; case 'X': if(flag >= 3){ res -= 10; }else{ res += 10; } flag = 2; break; case 'L': res += 50; flag = 3; break; case 'C': if(flag >= 5){ res -= 100; }else{ res += 100; } flag = 4; break; case 'D': res += 500; flag = 5; break; case 'M': res += 1000; flag = 6; break; default: break; } } return res; }}
这个方法是看的别人哒,觉得不错
0 0
- 13. Roman to Integer
- 13.Roman to Integer
- 13. Roman to Integer
- 13.Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- 13. Roman to Integer
- \r,\n,\r\n的区别
- 设计模式(三) 单例模式
- 前端开发-移动端(1)
- 多线程_生产者消费者之等待唤醒机制代码分析
- 重温ThinkPHP5
- 13.Roman to Integer
- Linux 删除和替换文件中某一行的方法
- 剑指offer 链表专题(二)
- androidUI界面的更新方法
- java线程浅析[初识线程]
- es6---解构赋值与字符串的拓展
- 三分线
- Android-传感器-实现记录人行走的轨迹
- android的消息机制总结2