欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Leetcode 13. Roman to Integer

程序员文章站 2022-07-16 08:24:27
...

题目描述:罗马数字转换成整数。

题目链接:Leetcode 13. Roman to Integer

按照整数转罗马数字的套路,罗马数字只需要构建一个字典存储值,然后查看小的是否在大的前面,是的话就-不是的话就+

代码如下

import java.util.HashMap;

class Solution {
    public int romanToInt(String s) {
        HashMap<Character, Integer> hm = new HashMap<Character, Integer>();
        hm.put('M', 1000);
        hm.put('D', 500);
        hm.put('C', 100);
        hm.put('L', 50);
        hm.put('X', 10);
        hm.put('V', 5);
        hm.put('I', 1);
        int ans = 0;
        for(int i = 0; i < s.length() - 1; i++) {
            if (hm.get(s.charAt(i)) < hm.get(s.charAt(i+1))) {
                ans -= hm.get(s.charAt(i));
            } else {
                ans += hm.get(s.charAt(i));
            }
        }
        return ans + hm.get(s.charAt(s.length() - 1));
    }
}

参考链接

Leetcode 13. Roman to Integer