罗马数字转整数 (Roman to Integer)

 

思路:

// @Title: 罗马数字转整数 (Roman to Integer)
// @Author: qisiii
// @Date: 2024-04-11 23:45:09
// @Runtime: 7 ms
// @Memory: 44.3 MB
// @comment: 
// @flag: 
class Solution {
    public int romanToInt(String s) {
        HashMap<String,Integer> map=new HashMap<>();
        map.put("M",1000);
        map.put("CM",900);
        map.put("D",500);
        map.put("CD",400);
        map.put("C",100);
        map.put("XC",90);
        map.put("L",50);
        map.put("XL",40);
        map.put("X",10);
        map.put("IX",9);
        map.put("V",5);
        map.put("IV",4);
        map.put("I",1);
        int left=0,right=0;
        int result=0;
        while(left<s.length()){
            if((left+2)<=s.length()&&map.containsKey(s.substring(left,left+2))){
                result=result+map.get(s.substring(left,left+2));
                left=left+2;
            }else{
                result=result+map.get(s.substring(left,left+1));
                left=left+1;
            }
        }
        return result;

    }
}
Licensed under CC BY-NC-SA 4.0
最后更新于 2024-10-18