整数转换为罗马字符
注意事项:
1 将常用罗马字符保存咋二维数组中,供后期映射查询。存放规则:各位、十位等各一行
2 每次从数字的个位映射,循环直至为0
3 字符串result链接时注意顺序,与普通整数连接顺序不同
class Solution {
public: char* roman[4][10] = {
{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},
{"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"},
{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"},
{"", "M", "MM", "MMM","","","","","",""} };
string intToRoman(int num) {
int rest=0;
int digit=0;
string result="";
while(num){
rest=num%10;
result=roman[digit][rest]+result; //注意此处顺序,不能写result+= roman[digit][rest];因为这是字符串处理,不是整数处理。
digit++;
num/=10;
}
return result;
} };
时间: 2025-01-14 15:38:37