Skip to content

12. 整数转罗马数字 ​

  • 题号:12
  • 来源:LeetCode
  • 难度:中等
  • 标签:数学 字符串
  • 语言:TypeScript
  • 解法:1 个
  • 作者:lmliheng
  • 最近更新:2026-09-27

TypeScript · O(1) 时间 · O(1) 空间 · 更新于 2026-09-27

按千、百、十、个位查表拼接罗马数字

typescript
/**
 * @difficulty medium
 * @tags 数学,字符串
 * @time O(1)
 * @space O(1)
 * @note 按千、百、十、个位查表拼接罗马数字
 * @12. 整数转罗马数字
 */

function intToRoman(num: number) {
    let M_str = ['', 'M', 'MM', 'MMM']
    let C_str = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM']
    let X_str = ['', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC']
    let I_str = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']
    return M_str[Math.floor(num / 1000 | 0)] + C_str[Math.floor(num % 1000 / 100)] + X_str[Math.floor(num % 100 / 10)] + I_str[num % 10]
};

源码:ts/leetcode/12. 整数转罗马数字.ts


在 GitHub 上查看题目所在目录:lmliheng/algorithm