map+for循环
时间复杂度O(n),空间复杂度O(1),
初始化为最后一个数值,从末尾开始遍历,当前位与前一位进行对比判断前一位是加还是减
前一位 > 当前位:总和加上前一位,反之则减去前一位
var romanToInt = function (s) {const map = new Map()map.set('I', 1)map.set('V', 5)map.set('X', 10)map.set('L', 50)map.set('C', 100)map.set('D', 500)map.set('M', 1000)let value = map.get(s[s.length - 1])for (let i = s.length - 1; i > 0; i--) {if (map.get(s[i]) > map.get(s[i - 1])) {value -= map.get(s[i - 1])} else {value += map.get(s[i - 1])}}return value};
