题目链接: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;
}