leetcode解题方案--013--Roman to Integer
2017-10-19 13:03
519 查看
题目
Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.
分析
将a[i]与a[i+1]的数进行比较,如果i+1大,则i+1 减去i,否则,依次相加。除此之外,可以用128位char的数组来存储罗马字母对应的值。
public static int romanToInt(String Roman) { int[] root = new int[128]; root[(int) 'I'] = 1; root[(int) 'V'] = 5; root[(int) 'X'] = 10; root[(int) 'L'] = 50; root[(int) 'C'] = 100; root[(int) 'D'] = 500; root[(int) 'M'] = 1000; char[] array = Roman.toCharArray(); int sum = 0; for (int i = 0; i < array.length; i++) { if (i + 1 < array.length && root[(int) array[i + 1]] > root[(int) array[i]]) { sum = sum+root[(int) array[i+1]]-root[(int) array[i]]; i++; } else { sum+=root[(int) array[i]]; } } return sum; }
相关文章推荐
- [LeetCode 解题报告]013. Roman to Integer
- leetcode解题方案--012--Integer to Roman
- LeetCode 013 Roman to Integer
- leetcode 013 Roman to Integer(难易度:Easy)
- [LeetCode] Integer to Roman 解题报告
- [LeetCode] Integer to Roman 解题报告
- [LeetCode] Roman To Integer 解题报告
- 【LeetCode】Integer to Roman 和 Roman to Integer 解题报告
- leetcode 013 —— Roman to Integer
- [LeetCode 013] Roman to Integer
- 【LeetCode】Integer to Roman 解题报告
- [LeetCode]013-Roman to Integer
- Leetcode013 Roman to Integer
- LeetCode 013 Roman to Integer
- [LeetCode 013] Roman to Integer
- 【LeetCode】Integer to Roman 和 Roman to Integer 解题报告
- 【LeetCode】Roman to Integer 解题报告
- 2017-09-09 LeetCode_013 Roman to Integer
- [LeetCode] Roman To Integer 解题报告
- LeetCode --- RomanToInteger、IntegerToRoman解题分析