public class Solution {
public int romanToInt(String s) {
int result = 0;
if(s == null || s.length() == 0){
return result;
}
for(int i = 0; i< s.length(); i++){
if(i > 0 && cToI(s.charAt(i)) > cToI(s.charAt(i-1))){
// IV(4) result = 1 + 5 - 1*2 = 4
result += cToI(s.charAt(i)) - cToI(s.charAt(i-1))*2;
}else{
result += cToI(s.charAt(i));
}
}
return result;
}
private static int cToI(char c) {
switch (c) {
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;
}
}
}