LeetCode, 13. 罗马数字转整数, TypeScript题解.

本博客主要介绍如何将罗马数字字符串转换为整数。通过理解特殊值并建立映射表,逐个处理字符串中的字符来实现转换。代码实现简洁明了。
摘要由CSDN通过智能技术生成

在这里插入图片描述

题解:

  • 将字符串的罗马数字转换数字, 阅读题目, 发现一些特殊值, 这是有限考虑的,然后可以发现题目的已知条件是一个 映射表, 直接上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"))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值