题目地址:13. 罗马数字转整数 - 力扣(LeetCode) (leetcode-cn.com)
/**
* @param {string} s
* @return {number}
*/
var romanToInt = function(s) {
// 1. 定义对象存放罗马数字与整数的关系
let obj = {
'I' : 1,
'V' : 5,
'X' : 10,
'L' : 50,
'C' : 100,
'D' : 500,
'M' : 1000
}
// 2. 定义存放结果的变量
let result = 0;
// 3. 遍历字符串
for (let i = 0; i < s.length; i++) {
// 4.定义双指针
let front = s[i];
let after = s[i+1];
if(obj[front] < obj[after]) {
// 当小的值在前时,用减法
result -= obj[front];
} else {
// 其他情况,直接相加
result += obj[front];
}
}
// 返回结果
return result;
};
参考:JavaScript 罗马数字转整数 Roman to Integer - leetcode - Web前端工程师面试题讲解_哔哩哔哩_bilibili