LeetCode 013. Roman to Integer
来源:互联网 发布:剑三淘宝买金怎么输 编辑:程序博客网 时间:2024/06/05 14:13
问题
Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.
分析:
- 如果当前处理的字符对应的值和上一个字符一样,那么临时变量加上这个字符。比如III = 3
- 如果当前比前一个大,说明这一段的值应该是当前这个值减去前面记录下的临时变量中的值。比如IIV = 5 – 2
- 如果当前比前一个小,那么就可以先将临时变量的值加到结果中,然后开始下一段记录。比如VI = 5 + 1
int romanToInt(std::string s){ if (s.length() < 1) return 0; int result = 0; int sum = toInt(s[0]); int end = toInt(s[0]); for (int i = 1; i < s.length(); ++i) { int current = toInt(s[i]); if (current == end) sum += current; else if (current < end) { result += sum; sum = current; } else { sum = current - end; } end = current; } result += sum; return result;}int toInt(char c){ switch (c){ case 'I': return 1; case 'V': return 5; case 'X': return 10; case 'L': return 50; case 'C': return 100; case 'D': return 500; case 'M': return 1000; }}
0 0
- LeetCode 013. Roman to Integer
- 【LeetCode】 013. Roman to Integer
- LeetCode 013. 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
- LeetCode Integer to Roman & Roman to Integer
- leetcode - roman to integer & integer to roman
- LeetCode:Roman to Integer
- LeetCode: Integer to Roman
- LeetCode: Roman to Integer
- LeetCode Integer to Roman
- LeetCode: Integer to Roman
- LeetCode : Roman to Integer
- [Leetcode] Roman to Integer
- [Leetcode] Integer to Roman
- Leetcode: Integer to Roman
- Android Fragment的生命周期
- react-native-storage
- 第一类,第二类Stirling数,Bell数
- 关于video capture filter的来龙去脉
- 第五次实验
- LeetCode 013. Roman to Integer
- 访问像素
- spring mvc常用注解含义的解释及示例
- 欢迎使用CSDN-markdown编辑器
- Cannot open include file: 'Interfaces/IImageWrapper.h'
- Android 一键清理、内存清理功能实现
- HDU 5327 Olympiad
- Java多线程学习(吐血超详细总结)
- LeetCode 014. Longest Common Prefix