leetcode题解--罗马数字转换
题目:将罗马数字字符串转换为数字,当小字符在大字符前的时候,结果为大数减小数,如IV=4,IV=9
具体代码如下(java):
Public int romantoInt(String s){
Map<Character,Integer> map = new HashMap<>();
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 sum = map.get(s.charAt(len-1));
for(int i=len-2;i>=0;--i){
if(map.get(s.charAt(i))<map.get(s.charAt(i+!))){
sum=sum-map.get(s.charAt(i));
}else
{
sum=sum+map.get(s.charAt(i));
}
}
return sum;
}
本博客所有文章除特别声明外,大部分为学习心得,欢迎与博主联系讨论