Leetcode 273.整数转换英文表示

2023-05-13,,

整数转换英文表示

将非负整数转换为其对应的英文表示。可以保证给定输入小于 231 - 1 。

示例 1:

输入: 123

输出: "One Hundred Twenty Three"

示例 2:

输入: 12345

输出: "Twelve Thousand Three Hundred Forty Five"

示例 3:

输入: 1234567

输出: "One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven"

示例 4:

输入: 1234567891

输出: "One Billion Two Hundred Thirty Four Million Five Hundred Sixty Seven Thousand Eight Hundred Ninety One"

 class Solution {
static String num1[]={"One","Two","Three","Four","Five","Six","Seven","Eight","Nine"};
static String num2[]={"Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};
static String tens[]={"Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"};
public String numberToWords(int num) {
if(num==0){
return "Zero";
}
String result="";
if(num>999999999){
result+=numberToWordsWithThreeDIgit(num/1000000000)+" Billion";
num%=1000000000;
}
if(num>999999){
result+=numberToWordsWithThreeDIgit(num/1000000)+" Million";
num%=1000000;
}
if(num>999){
result+=numberToWordsWithThreeDIgit(num/1000)+" Thousand";
num%=1000;
}
if(num>0){
result+=numberToWordsWithThreeDIgit(num);
}
return result.trim();
} public String numberToWordsWithThreeDIgit(int num){
String result="";
if(num>99){
result+=" "+num1[num/100-1]+" Hundred";
}
num%=100;
if(num>19){
result+=" "+tens[num/10-2];
num%=10;
}else if(num>9){
result+=" "+num2[num-10];
num=0;
}
if(num>0){
result+=" "+num1[num-1];
}
return result;
}
}


Leetcode 273.整数转换英文表示的相关教程结束。

《Leetcode 273.整数转换英文表示.doc》

下载本文的Word格式文档,以方便收藏与打印。