解析: 两种方式, 使用 hashmap表, 或者用二个数组对应, 首先,考虑一些特殊情况, 然后考虑正常的情况, 比如 51, 51大于50, 一旦大于较大的数值, 就减去它, 剩1,然后加上1, 就可以了。 比如 4, 9, 等特殊情况, 直接判断,出局 或者使用暴力解法, 因为题目限制最大不超过3999 代码: function intToRoman(num: number): string { let map = new Map<number, string>() // 特殊情况 map.set