Roman to Integer
来源:互联网 发布:阿里云搭建视频教程 编辑:程序博客网 时间:2024/05/01 17:55
题目
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
解题思路
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
组成罗马数字的字符一共有7个,均是大写的。I=1,V=5,X=10,L=50,C=100,D=500,M=1000
出现一次加一次它们代表的值。需要注意的是:当出现IV,IX时,加上I的负值;出现XL,XC时,加上X的负值;
出现CD,CM时,加上C的负值。
代码
public class Solution { public int romanToInt(String s){int sum=0;for(int i=0;i<s.length();++i)switch(s.charAt(i)){case 'I': if(i+1<s.length()&&(s.charAt(i+1)=='V'||s.charAt(i+1)=='X')) sum-=1; else sum+=1; break;case 'V': sum+=5; break;case 'X': if(i+1<s.length()&&(s.charAt(i+1)=='L'||s.charAt(i+1)=='C')) sum-=10; else sum+=10; break;case 'L': sum+=50; break;case 'C': if(i+1<s.length()&&(s.charAt(i+1)=='D'||s.charAt(i+1)=='M')) sum-=100; else sum+=100; break;case 'D': sum+=500;break;case 'M': sum+=1000; break;}return sum;}}
运行结果
0 0
- Integer to Roman & Roman to Integer
- Integer to Roman & Roman to Integer
- LeetCode Roman to Integer && Integer to Roman
- 【leetcode】Roman to Integer | Integer to Roman
- Leetcode - "Roman to Integer" & "Integer to Roman"
- LeetCode:Roman to Integer,Integer to Roman
- Integer to Roman and Roman to Integer
- LeetCode Integer to Roman & Roman to Integer
- Roman to Integer/Integer to Roman
- leetcode - roman to integer & integer to roman
- "Roman to Integer" and "Integer to Roman"
- Roman to Integer &&Integer to Roman
- Roman to Integer and Integer to Roman
- Roman to Integer/Integer to Roman
- LeetCode:Roman to Integer
- LeetCode: Integer to Roman
- LeetCode: Roman to Integer
- LeetCode Integer to Roman
- 用PHP的ob_start()控制您的浏览器cache
- 用DexClassLoader实现加壳
- CAS实现单点登录(SSO)经典完整教程
- <<给你个团队你能怎么管>>读书笔记-1
- LICEcap
- Roman to Integer
- logrotate 安装配置
- Android 知识图谱
- NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序
- vpn_client
- Google System File 详解
- 史上最牛玩家 数学+密码学破译隐藏任务
- IOS 嵌套实现分页的TableView
- 黑苹果所遇问题及解决方法合集随记