Leetcode13-罗马数字转整数
题目链接:13. 罗马数字转整数 - 力扣(LeetCode)
如同上一题,直接用暴力法破解,简单好理解
int romanToInt(char* s) {
int len = strlen(s);
int res = 0;
for(int i = 0; i < len; i++) {
switch(s[i]) {
case 'M':
res += 1000;
break;
case 'D':
res += 500;
break;
case 'C':
if (i+1 < len && s[i+1] == 'D'){
res += 400;
i++;
break;
}
if (i+1 < len && s[i+1] == 'M'){
res += 900;
i++;
break;
}
res += 100;
break;
case 'L':
res += 50;
break;
case 'X':
if (i+1 < len && s[i+1] == 'L'){
res += 40;
i++;
break;
}
if (i+1 < len && s[i+1] == 'C'){
res += 90;
i++;
break;
}
res += 10;
break;
case 'V':
res += 5;
break;
case 'I':
if (i+1 < len && s[i+1] == 'V'){
res += 4;
i++;
break;
}
if (i+1 < len && s[i+1] == 'X'){
res += 9;
i++;
break;
}
res += 1;
break;
}
}
return res;
}