Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
Solution:
public int romanToInt(String s) {
char[] chars = s.toCharArray();
int result = 0;
for (int i = chars.length - 1; i >= 0; i--) {
switch (chars[i]) {
case 'I':
result += (result >= 5 ? -1 : 1);
break;
case 'V':
result += 5;
break;
case 'X':
result += (result >= 50 ? -10 : 10);
break;
case 'L':
result += 50;
break;
case 'C':
result += (result >= 500 ? -100 : 100);
break;
case 'D':
result += 500;
break;
case 'M':
result += 1000;
break;
}
}
return result;
}