您的位置:首页 > 其它

LeetCode - 12. Integer to Roman

2016-07-14 22:25 302 查看
这道题目其实并没有什么太多可说的,因为罗马数字的写法本身就不了解,所以在discuss版看了看其他同学的解法。感觉这位同学的解法非常不错,很好的利用了%,/计算的性质和数组下标的性质。代码如下:

public class Solution {
public String intToRoman(int num) {
String[] M = {"", "M", "MM", "MMM"};
String[] C = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
String[] X = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
String[] I = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
return M[num / 1000] + C[(num % 1000) / 100] + X[(num % 100) / 10] + I[num % 10];
}
}
注意这道题目可以进行一定的扩展,不仅仅是罗马数字的问题,遇到将数字按位转化成另外某种形式的问题都可以采用这种方法,记住这种思想。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode Math String