码迷,mamicode.com
首页 > 其他好文 > 详细

【leetcode】7 integer to roman

时间:2015-05-11 12:49:57      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

整数转换为罗马字符

注意事项:

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;    

              } };

【leetcode】7 integer to roman

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!