13.罗马数字转整数
小于 1 分钟
13.罗马数字转整数
/*
* @lc app=leetcode.cn id=13 lang=typescript
*
* [13] 罗马数字转整数
*/
// @lc code=start
function romanToInt(s: string): number {
let arr: string[] = s.split("");
let total: number = 0;
for (let i = 0; i < arr.length; i++) {
if (getValue(arr[i]) < getValue(arr[i + 1])) {
total += getValue(arr[i + 1]) - getValue(arr[i]);
++i
} else {
total += getValue(arr[i]);
}
}
return total;
}
function getValue(ch: string): number {
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;
default: return 0;
}
}
// @lc code=end
Loading...
