LeetCode#12. Integer to Roman

来源:互联网 发布:什么是网络谣言 编辑:程序博客网 时间:2024/06/11 01:00
  • 题目:将1-3999的整数转成罗马数
  • 难度:Medium
  • 思路:罗马数字由7个基本数字构成

        I - 1    V - 5    X - 10    L - 50    C - 100    D - 500    M - 1000    便于记忆:v表示一个手指,x表示两个手指上下拼接,C是century百,L是C的一半表示50,M是Milles 1000

    一个整数可以用个位,十位,百位,千位上的数字来表示,所以用数组存储罗马数字,然后与阿拉伯数对应即可

  • 代码:
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/100)%10]+X[(num/10)%10]+I[num%10];    }}
0 0