LeetCode 13. 罗马数字转整数
原题链接
简单
作者:
caichuntao
,
2023-06-16 16:33:05
,
所有人可见
,
阅读 84
方法1:转换
时间复杂度:$O(N)$
空间复杂度:$O(1)$
解题思路
Java 代码
class Solution {
public int romanToInt(String s) {
s = s.replace("IV","a");
s = s.replace("IX","b");
s = s.replace("XL","c");
s = s.replace("XC","d");
s = s.replace("CD","e");
s = s.replace("CM","f");
int res = 0;
for(int i = 0; i < s.length(); i ++) {
res += num(s.charAt(i));
}
return res;
}
public int num(char ch) {
switch(ch) {
case 'I': return 1;
case 'V': return 5;
case 'X': return 10;
case 'L': return 50;
case 'C': return 100;
case 'D': return 500;
case 'M': return 1000;
case 'a': return 4;
case 'b': return 9;
case 'c': return 40;
case 'd': return 90;
case 'e': return 400;
case 'f': return 900;
default: return 0;
}
}
}