Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
代码如下:
public class Solution {
public int romanToInt(String s) {
if(s.length()==0) return 0;
HashMap<Character,Integer> map=initMap();
int re=map.get(s.charAt(0));
for(int i=1;i<s.length();i++){
int pre=map.get(s.charAt(i-1));
int cur=map.get(s.charAt(i));
if(cur>pre){
re+=cur-2*pre;
}else{
re+=cur;
}
}
return re;
}
public HashMap<Character,Integer> initMap(){
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);
return map;
}
}