leetcode 12. Integer to Roman
2016-02-23 14:26
344 查看
题意
将整数转换为罗马数字。题解
数字对应的罗马数字为:1~9: {“I”, “II”, “III”, “IV”, “V”, “VI”, “VII”, “VIII”, “IX”},
10~90: {“X”, “XX”, “XXX”, “XL”, “L”, “LX”, “LXX”, “LXXX”, “XC”},
100~900: {“C”, “CC”, “CCC”, “CD”, “D”, “DC”, “DCC”, “DCCC”, “CM”},
1000~3000: {“M”, “MM”, “MMM”}
代码
class Solution { public: string intToRoman(int num) { string roman[][9] = { {"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"} }; if(num > 3999 || num <= 0) return NULL; string num_str[4]; int i = 0; while(num > 0) { if(num % 10 > 0) num_str[i] = roman[i][num % 10 - 1]; i++; num /= 10; } string result; for(int j = i - 1; j >= 0; j--) //reverse string { result += num_str[j]; } return result; } };
相关文章推荐
- Saiku图表导出时中文显示问题的解决方法
- Linux匿名管道与命名管道
- 员工考勤信息管理小程序
- C++ function、bind以及lamda表达式
- iOS9 TableView和ScrollView滚动不响应问题
- java学习笔记-方法的重载和重写
- 微信自动关闭内置浏览器页面,返回公众号窗口
- IOS 初次接触
- React传递Props
- map reduce简介
- C++ STL vector
- linux实战(九)----批量监控服务器是否存活----综合运用
- linux实战(九)----批量监控服务器是否存活----综合运用
- 逆向工具相关使用总结
- boost::asio::coroutine 文档翻译 + 源码解析
- 基于CANoe的ECU Bootloader刷写软件
- 一条汇编指令引发的 蝴蝶效应
- DHCP、PXE的基础配置
- Git 操作整理
- HSU 2328 Corporate Identity