代码(Java) // 方法一
import java.util.HashMap;
class Solution {public int romanToInt(String s) {HashMap<String, Integer> map = new HashMap<String, Integer>() {{put("I", 1);put("V", 5);put("X", 10);put("L", 50);put("C", 100);put("D", 500);put("M", 1000);put("IV", 4);put("IX", 9);put("XL", 40);put("XC", 90);put("CD", 400);put("CM", 900);}};int i = 0;int res = 0;while (i < s.length()) {if (i + 1 < s.length()) {String x = "" + s.charAt(i) + s.charAt(i + 1);if (map.get(x) != null) {res += map.get(x);i += 2;continue;}}String x = "" + s.charAt(i);res += map.get(x);i++;}return res;}
}
// 方法二
class Solution {public int romanToInt(String s) {int sum = 0;int pre = getValue(s.charAt(0));for (int i = 1; i < s.length(); i++) {int num = getValue(s.charAt(i));if (num > pre) {sum -= pre;} else {sum += pre;}pre = num;}sum += pre;return sum;}private int getValue(char ch) {switch (ch) {case 'I':return 1;case 'V':return 5;case 'X':return 10;case 'L':return 50;case 'C':return 100;case 'D':return 500;case 'M':return 1000;default:return 0;}}
}