12. Integer to Roman

来源:互联网 发布:无线云台网络摄像机 编辑:程序博客网 时间:2024/06/11 05:45

Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.

Subscribe to see which companies asked this question.


Solution:

Tips:

solve this problem with recursion, just for practice.


Java Code:

public class Solution {    public String intToRoman(int num) {        if (num <= 0) {            return "";        }                if (num >= 900) {            return num >= 1000 ? "M" + intToRoman(num - 1000) : "CM" + intToRoman(num - 900);        } else if (num >= 400) {            return num >= 500 ? "D" + intToRoman(num - 500) : "CD" + intToRoman(num - 400);        } else if (num >= 90) {            return num >= 100 ? "C" + intToRoman(num - 100) : "XC" + intToRoman(num - 90);        } else if (num >= 40) {            return num >= 50 ? "L" + intToRoman(num - 50) : "XL" + intToRoman(num - 40);        } else if (num >= 9) {            return num >= 10 ? "X" + intToRoman(num - 10) : "IX" + intToRoman(num - 9);        } else if (num >= 4) {            return num >= 5 ? "V" + intToRoman(num - 5) : "IV" + intToRoman(num - 4);        } else {            return "I" + intToRoman(num - 1);        }    }}


0 0
原创粉丝点击