思路:
// @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;
}
}