LeetCode 12 Integer to Roman

来源:互联网 发布:网络接入方式 编辑:程序博客网 时间:2024/06/14 23:41

原题:(频率4)

Given an integer, convert it to a roman numeral.

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




题意:把Integer转换为罗马数,范围在1-3999



代码和思路

class Solution {    public String intToRoman(int num) {        int[] values = {1000,900,500,400,100,90,50,40,10,9,5,4,1};        String[] strs = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};        StringBuilder  sb = new StringBuilder ();        int i = 0;        while(num>0){            //num大于values中的哪一个,就用num减去它,并把它对应的罗马字符加入StringBuilder            while(num>=values[i]){                num -= values[i];                sb.append(strs[i]);            }            i++;        }        return sb.toString();    }}