思路是 IV = 4 这种的思路在于I < V 也就是这个判断 orStr[stArr[i]] < orStr[stArr[i + 1]] 所以就减去当前的 num = num - orStr[stArr[i]]
III = 3 这种的就直接加就ok
写的很菜多多指教
/**
* @param {string} s
* @return {number}
*/
var romanToInt = function (s) {
let stArr = s.split('')
let num = 0
let orStr =
{
I: 1,
V: 5,
X: 10,
L: 50,
C: 100,
D: 500,
M: 1000
}
for (let i = 0; i < stArr.length; i++) {
if (orStr[stArr[i]] < orStr[stArr[i + 1]]) {
num = num - orStr[stArr[i]]
} else {
num = num + orStr[stArr[i]]
}
}
return num
};