[LeetCode] 13. Roman to Integer ☆☆
2017-02-16 00:26
387 查看
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
解法:
只要考虑两种情况即可:
第一,如果当前数字是最后一个数字,或者之后的数字比它小的话,则加上当前数字
第二,其他情况(即为4或者9,这种情况下才可能出现后面的罗马数字比前面的大),则减去这个数字
Input is guaranteed to be within the range from 1 to 3999.
解法:
只要考虑两种情况即可:
第一,如果当前数字是最后一个数字,或者之后的数字比它小的话,则加上当前数字
第二,其他情况(即为4或者9,这种情况下才可能出现后面的罗马数字比前面的大),则减去这个数字
public class Solution { public int romanToInt(String s) { if (s == null || s.length() == 0) return 0; int res = 0; HashMap<Character, Integer> map = new HashMap<>(); map.put('M', 1000); map.put('D', 500); map.put('C', 100); map.put('L', 50); map.put('X', 10); map.put('V', 5); map.put('I', 1); for (int i = 0; i < s.length() - 1; i++) { if (map.get(s.charAt(i)) >= map.get(s.charAt(i + 1))) { res += map.get(s.charAt(i)); } else { res -= map.get(s.charAt(i)); } } res += map.get(s.charAt(s.length() - 1)); return res; } }
相关文章推荐
- 【LeetCode】(C#)13. Roman to Integer(Easy)
- leetcode_13. Roman to Integer
- LeetCode-13. Roman to Integer
- leetcode 13. Roman to Integer
- leetcode-13. Roman to Integer
- leetcode 13. Roman to Integer
- [leetcode]13. Roman to Integer
- leetcode--13. Roman to Integer
- 2017.10.21 LeetCode - 13. Roman to Integer - 28. Implement strStr()
- [LeetCode] 13. Roman to Integer ❤
- LeetCode——13. Roman to Integer
- leetcode(6)13. Roman to Integer
- Leetcode 13. Roman to Integer
- LeetCodet题解--13. Roman to Integer
- LeetCode 13. Roman to Integer
- LeetCode-13. Roman to Integer(罗马数字转阿拉伯数字)
- Leetcode 13. Roman to Integer
- 13. Roman to Integer leetcode Python 2016 new Season
- leetcode 每日一题 13. Roman to Integer
- 【LeetCode】13. Roman to Integer