原题链接:13.罗马数字转整数
题目描述:

解:
观察规律,罗马数字小值在大值右边时,直接加上这个值,如果在左边,就加上他的相反数。
class Solution {public int romanToInt(String s) {HashMap<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 ret = 0;for(int i=0; i<s.length(); i++) {if ( i!=s.length()-1 && map.get(s.charAt(i)) < map.get(s.charAt(i+1))) {ret += -1 * map.get(s.charAt(i));} else {ret += map.get(s.charAt(i));}}return ret;}}
