我的解答:
int romanToInt(char *s) {
int sum = 0;
while(*s){
int before = present(s);
int after = present(++s);
if(before < after){
sum = sum + after - before;
++s;
}else{
sum = sum + before;
}
}
return sum;
}
int present(char *s){
int x = 0;
switch(*s){
case 'I' : x = 1;break;
case 'V' : x = 5;break;
case 'X' : x = 10;break;
case 'L' : x = 50;break;
case 'C' : x = 100;break;
case 'D' : x = 500;break;
case 'M' : x = 1000;break;
}
return x;
}