题目
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
解
class Solution {
public int romanToInt(String s) {
HashMap<Character,Integer> map=new HashMap<Character,Integer>();
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);
int len=s.length();
int ret=map.get(s.charAt(len-1));
for(int i=len-2;i>=0;i--){
int now=map.get(s.charAt(i));
int right=map.get(s.charAt(i+1));
if(now<right){
ret=ret-now;
}else{
ret=ret+now;
}
}
return ret;
}
}