Roman to Integer
来源:互联网 发布:拓普康全站仪usp软件 编辑:程序博客网 时间:2024/05/17 00:04
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
思路:与Integer to Roman的规则一致,反推的过程。
Ref:http://www.cnblogs.com/springfor/p/3886477.html
class Solution {public: int romanToInt(string s) { if (s.empty()) { return 0; } int result = 0; for (int i = s.size() - 1; i >= 0; i--) { if (s[i] == 'I') { if (result >= 5) { //如果已经大于5,说明右边肯定出现过V, 所以左边出先的I一定是-1, 因为只有I,X,C可以写在左边 result += -1; } else { result += 1; } } else if (s[i] == 'V') { //如果为V, L, D, M直接相加即可 result += 5; } else if (s[i] == 'X') { if (result >= 50) { //如果大于50,说明右边肯定出现过L,X出现在左边肯定是-10 result += -10; } else { result += 10; } } else if (s[i] == 'L') { result += 50; } else if (s[i] == 'C') { if (result >= 500) { result += -100; } else { result += 100; } } else if (s[i] == 'D') { result += 500; } else if (s[i] == 'M') { result += 1000; } } return result; }};
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
- os x 编译libimobiledevice 遇到的问题
- U盘玩法大全
- Unity3d碰撞检测中碰撞器与触发器的区别
- Python学习手册(第四版)学习笔记(二)我学Python用来干什么
- Python写Windows Service服务程序
- Roman to Integer
- sql 循环插入20万条数据
- 8种移动APP导航设计模式大对比
- gc垃圾回收的例子
- 反渗透设备:反渗透设备故障及解决方法概述
- 归来咯
- SQL 数据库疑难解决方案集合
- Vim打开中文文件乱码
- 笑话集原创笑话精品展3