273. Integer to English Words

Posted gopanama

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了273. Integer to English Words相关的知识,希望对你有一定的参考价值。

东西都放进去 然后取出来就好了

 

 1 class Solution {
 2     public String numberToWords(int num) {
 3         if(num == 0) return "Zero";
 4         String res = "";
 5         String str = "" + num;
 6         String[] one = new String[]{"", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine "};
 7         String[] two = new String[]{"", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety "};
 8         String[] ten = new String[]{"Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen "};
 9         String[] three = new String[]{"", "One Hundred ", "Two Hundred ", "Three Hundred ", "Four Hundred ", "Five Hundred ", "Six Hundred ", "Seven Hundred ", "Eight Hundred ", "Nine Hundred "};
10         int count = 0;
11         for(int i = str.length()-1; i >= 0; i = i - 3){
12             StringBuilder sb = new StringBuilder();
13             String sub = str.substring(Math.max(0 , i-2), i+1);
14             int temp = Integer.parseInt(sub);
15             // System.out.println(temp);
16             sb.append(three[temp/100]);
17             temp = temp % 100;
18             if(temp / 10 == 1){
19                 sb.append(ten[temp-10]);
20             }else{
21                  sb.append(two[temp/10]);
22                  temp = temp%10;
23                  sb.append(one[temp]);
24             }
25             if(sb.length() != 0 && count == 0){  //要是这个范围的数字不存在的话就不用加thousan million这些东西
26                 res = sb.toString() + res;
27             }else if(sb.length() != 0 && count == 1){
28                 res = sb.toString() + "Thousand " + res;
29             }else if(sb.length() != 0 && count == 2){
30                 res = sb.toString() + "Million " + res;
31             }else if(sb.length() != 0 && count == 3){
32                 res = sb.toString() + "Billion " + res;
33             }
34             count++;
35             
36         }
37         return res.trim();
38         
39     }
40 }

 

以上是关于273. Integer to English Words的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 273. Integer to English Words

[LC] 273. Integer to English Words

273. Integer to English Words

leetcode273. Integer to English Words

273. Integer to English Words

273. Integer to English Words