题目链接
https://leetcode.com/problems/roman-to-integer/
题目原文
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
题目翻译
给定一个罗马数字,将其转成整数。输入限制在1到3999之间。
思路方法
做题的第一步要理解题。说实话,我是不清楚罗马数字的记法的,所以查了一下资料,这里也简单介绍一下吧。
罗马数字采用七个罗马字母作数字:
I(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。
记数的方法:
1. 相同的数字连写,所表示的数等于这些数字相加得到的数,如 III=3;
2. 小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,如 VIII=8、XIII=12;
3. 小的数字(限于 I、X 和 C)在大的数字的左边,所表示的数等于大数减小数得到的数,如 IV=4、IX=9;
4. 在一个数的上面画一条横线,表示这个数增值 1,000 倍。
常用数字记法举例:
| Roman | Integer | Roman | Integer | |
|---|---|---|---|---|
| I | 1 | XXIX | 29 | |
| II | 2 | XXX | 30 | |
| III | 3 | XL | 40 | |
| IV | 4 | L | 50 | |
| V | 5 | LX |

这篇博客主要介绍了如何将罗马数字转换为整数,解析了LeetCode上的一道题目,包括题目的背景、翻译及两种不同的解题思路,并提供了相关代码。博主提醒,由于题目对罗马数字的合法表示没有明确,可能导致不同解法得出不同结果。
最低0.47元/天 解锁文章
607

被折叠的 条评论
为什么被折叠?



