Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C - 13. Roman to Integer
題目:

解答:
int toInt(char ch)
{
if (ch == 'I') {
return 1;
}
else if (ch == 'V') {
return 5;
}
else if (ch == 'X') {
return 10;
}
else if (ch == 'L') {
return 50;
}
else if (ch == 'C') {
return 100;
}
else if (ch == 'D') {
return 500;
}
else if (ch == 'M') {
return 1000;
}
return -1;
}
int romanToInt(char *s)
{
int len = strlen(s);
int i = 0;
int r = 0;
int t0 = 0;
int t1 = 0;
for (i = 0; i < len; i++) {
t0 = toInt(s[i]);
if (i != (len - 1)) {
t1 = toInt(s[i + 1]);
if (t0 < t1) {
r += (t1 - t0);
i += 1;
}
else{
r += t0;
}
}
else{
r += t0;
}
}
return r;
}