【leetcode】8 integer to roman

整数转换为罗马字符

注意事项:

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;    

              } };

原文地址:https://www.cnblogs.com/wygyxrssxz/p/4493912.html