罗马数字转成整数
可以用map集合来存储罗马数字,在判断是加法或减法。
class Solution{
Map<Character,Integer> symbolValues = new HashMap<Character,Integer>(){{
put('I',1);
put('V',5);
put('X',10);
put('L',50);
put('C',100);
put('D',500);
put('M',1000);
}};
public int romanToInt(String s){
int sum = 0; //返回的整数
for(int i = 0; i < s.length(); i++){
int value = symbolValues.get(s.charAt(i));
if(i < s.length() - 1 && value < symbolValues.get(s.charAt(i + 1))){
//判断后一个字符是否比当前字符大
sum -= value;
}else{
sum += value;
}
}
return sum;
}
}