题目链接:https://leetcode.com/problems/integer-to-roman/#/description
Description
Subscribe to see which companies asked this question.
罗马数字"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I",
分别对应阿拉伯数字1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1
转换时按转换进制从大到小的顺序转换即可。
代码如下
class Solution {
public:
string intToRoman(int num) {
string res;
string sym[] = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
int val[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
for(int i = 0; num != 0; i++)
{
while(num >= val[i])
{
num -= val[i];
res += sym[i];
}
}
return res;
}
};
Submission Details
3999 / 3999 test cases passed.
| Status: Accepted |
Runtime:
59 ms
|
Submitted:
0 minutes ago
|