LeetCode: Integer to Roman
2013-05-17 14:44
507 查看
这题因为不知道罗马数是怎么一回事。。就去网上找了答案
C#
View Code
class Solution { public: string intToRoman(int num) { // Start typing your C/C++ solution below // DO NOT write int main() function char symbol[7] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'}; int scale = 1000; string ret; for (int i = 6; i >= 0; i -= 2) { int digit = num / scale; if (digit != 0) { if (digit <= 3) ret = ret + string(digit, symbol[i]); else if (digit == 4) ret = ret + symbol[i] + symbol[i+1]; else if (digit == 5) ret = ret + symbol[i+1]; else if (digit <= 8) ret = ret + symbol[i+1] + string(digit-5, symbol[i]); else if (digit == 9) ret = ret + symbol[i] + symbol[i+2]; } num %= scale; scale /= 10; } return ret; } };
C#
public class Solution { public string IntToRoman(int num) { char[] sym = new char[7]{'I', 'V', 'X', 'L', 'C', 'D', 'M'}; int scale = 1000; string ans = ""; for (int i = 6; i >= 0; i-=2) { int digit = num / scale; if (digit != 0) { if (digit <= 3) ans = ans + new string(sym[i], digit); else if (digit == 4) ans = ans + sym[i] + sym[i+1]; else if (digit == 5) ans = ans + sym[i+1]; else if (digit <= 8) ans = ans + sym[i+1] + new string(sym[i], digit-5); else if (digit == 9) ans = ans + sym[i] + sym[i+2]; } num %= scale; scale /= 10; } return ans; } }
View Code
相关文章推荐
- [Leetcode 17] 13 Roman to Integer
- LeetCode之 Roman to Integer
- [LeetCode 解题报告]013. Roman to Integer
- Leetcode 13. Roman to Integer
- LeetCode题解:Roman to Integer
- LeetCode题解-13-Roman to Integer
- Leetcode 13 - Roman to Integer
- leetcode-Integer to Roman
- LeetCode 012 Integer to Roman
- 12 leetcode - Integer to Roman
- leetcode--Roman to Integer
- [Leetcode] 12. Integer to Roman
- leetcode -- Roman to Integer -- 简单偏题
- leetcode 12 Integer to Roman
- [leetcode] Integer to Roman @ Python
- [LeetCode] Roman to Integer
- Integer To Roman leetcode java
- LeetCode 013. Roman to Integer
- [LeetCode] 090: Roman to Integer
- Leetcode 12. Integer to Roman