【JAVA、C++】LeetCode 012 Integer to Roman
2015-04-29 09:23
471 查看
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
本题思路比较简单,难度主要集中在罗马数字本身,直接贴代码。
思路一,从高位开始:
JAVA:
C++:
思路二,从低位开始:
JAVA:
Input is guaranteed to be within the range from 1 to 3999.
本题思路比较简单,难度主要集中在罗马数字本身,直接贴代码。
思路一,从高位开始:
JAVA:
static public String intToRoman(int number) { int[] values = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 }; String[] numerals = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X","IX", "V", "IV", "I" }; //不推荐用String类型,因为+的本质是建立StringBuilder()的过程 StringBuilder result = new StringBuilder(); for (int i = 0; i < values.length; i++) { while (number >= values[i]) { number -= values[i]; result.append(numerals[i]); } } return new String(result); }
C++:
class Solution { public: string intToRoman(int num) { vector<int> values = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 }; string numerals[] = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X","IX", "V", "IV","I" }; string res; for (int i = 0; i < values.size(); i++) while (num >= values[i]) { num -= values[i]; res+=numerals[i]; } return res; } };
思路二,从低位开始:
JAVA:
static public String intToRoman(int num) { String Roman[][] = { {"", "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"} }; StringBuilder result = new StringBuilder(); for(int i=0;i<Roman.length;i++,num/=10) result.insert(0,Roman[i][num % 10]); return new String(result); }
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【012-Integer to Roman(数字转罗马字符)】
- Leetcode012 Integer to Roman
- leetcode 012 —— Integer to Roman
- LeetCode 012 Integer to Roman
- 【Leetcode】Roman to Integer JAVA
- LeetCode 012 Integer to Roman
- [LeetCode][Java] Roman to Integer
- leetcode-java-13. Roman to Integer
- 【LeetCode-面试算法经典-Java实现】【013-Roman to Integer (罗马数字转成整数)】
- LeetCode 12 Integer to Roman(C,C++,Java,Python)
- Integer To Roman leetcode java
- leetcode012 Integer to Roman
- LeetCode 012 Integer to Roman
- [LeetCode] Roman to Integer || Integer to Roman (JAVA)
- LeetCode 012 Integer to Roman
- leetcode Roman to Integer(Java)
- LeetCode 13 Roman to Integer (C,C++,Java,Python)
- Roman To Integer leetcode java
- leetcode-012-Integer to Roman
- [LeetCode][Java] Roman to Integer