leetcode-----13. 罗马数字转整数

代码

class Solution {
    public int romanToInt(String s) {
        int ans = 0;
        HashMap<Character, Integer> map = new HashMap<>();
        map.put('I', 1);
        map.put('V', 5);
        map.put('X', 10);
        map.put('L', 50);
        map.put('C', 100);
        map.put('D', 500);
        map.put('M', 1000);
        
        for (int i = 0; i < s.length(); ++i) {
            if (i != s.length() - 1 && map.get(s.charAt(i + 1)) > map.get(s.charAt(i))) {
                ans += map.get(s.charAt(i + 1)) -map.get(s.charAt(i));
                i++;
            } else {
                ans += map.get(s.charAt(i));
            }
        } 
        return ans;
    }
}
posted @ 2020-06-13 15:43  景云ⁿ  阅读(96)  评论(0编辑  收藏  举报