public class LeetCode_13_romanToInt {
public int romanToInt(String s) {
if (s == null || s.length() == 0) {
return 0;
}
int preNum = getByChar(s.charAt(0));
int sum = 0;
for (int i = 1; i < s.length(); i++) {
int curNum = getByChar(s.charAt(i));
if (preNum < curNum) {
sum -= preNum;
} else {
sum += preNum;
}
preNum = curNum;
}
sum += preNum;
return sum;
}
public int getByChar(char target) {
switch (target) {
case 'M':
return 1000;
case 'D':
return 500;
case 'C':
return 100;
case 'L':
return 50;
case 'X':
return 10;
case 'V':
return 5;
case 'I':
return 1;
default:
return 0;
}
}
}
13. 罗马数字转整数
最新推荐文章于 2024-07-10 11:04:17 发布