题目没有太大意思if else就能过了。
public class Solution { public int romanToInt(String s) { int num = 0, i; for(i=0; i<s.length(); i++) { if (s.charAt(i) == 'I') num += 1; if (s.charAt(i) == 'V') { if (i != 0 && s.charAt(i - 1) == 'I') num += 3; else num += 5; } if (s.charAt(i) == 'X') { if (i != 0 && s.charAt(i - 1) == 'I') num += 8; else num += 10; } if (s.charAt(i) == 'L') { if (i != 0 && s.charAt(i - 1) == 'X') num += 30; else num += 50; } if (s.charAt(i) == 'C') { if (i != 0 && s.charAt(i - 1) == 'X') num += 80; else num += 100; } if (s.charAt(i) == 'D') { if (i != 0 && s.charAt(i - 1) == 'C') num += 300; else num += 500; } if (s.charAt(i) == 'M') { if (i != 0 && s.charAt(i - 1) == 'C') num += 800; else num += 1000; } } return num; } }