题解:
- 将字符串的罗马数字转换数字, 阅读题目, 发现一些特殊值, 这是有限考虑的,然后可以发现题目的已知条件是一个 映射表, 直接上map,
- 根据给的字符串, 去除特殊的情况, 字符串修改, 返回答案
function romanToInt(s: string): number {
let result: number = 0
let map: Map<string, number> = 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)
map.set('a', 4)
map.set('b', 9)
map.set('c', 40)
map.set('d', 90)
map.set('e', 400)
map.set('f', 900)
s = s.replace('IV', "a").replace('IX', 'b').replace('XL', 'c').replace('XC', 'd').replace('CD', 'e').replace('CM', 'f')
for(let i =0 ;i<s.length; i++){
result += map.get(s[i]) as number
}
return result
};
// console.log(romanToInt("IV"))