您的位置:首页 > 其它

LeetCode 12 Integer to Roman

2017-10-19 15:53 513 查看
原题:(频率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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: