zoukankan      html  css  js  c++  java
  • [LC] 273. Integer to English Words

    Convert a non-negative integer to its english words representation. Given input is guaranteed to be less than 231 - 1.

    Example 1:

    Input: 123
    Output: "One Hundred Twenty Three"
    

    Example 2:

    Input: 12345
    Output: "Twelve Thousand Three Hundred Forty Five"

    class Solution {
         String[] LESS_THAN_20 = {"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"};
         String[] TENS = {"", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"};
         String[] THOUSANDS = {"", "Thousand", "Million", "Billion"};
    
        public String numberToWords(int num) {
            if (num == 0) {
                return "Zero";
            }
            String res = "";
            int i = 0;
            while (num > 0) {
                if (num % 1000 != 0) {
                    res = helper(num % 1000)  + THOUSANDS[i] + " "+ res;
                }
                num /= 1000;
                i += 1;
            }
            return res.trim();
        }
        
        private String helper(int num) {
            if (num == 0) {
                return "";
            }
            if (num < 20) {
                return LESS_THAN_20[num] + " ";
            } else if (num < 100) {
                return TENS[num / 10] + " " +  helper(num % 10);
            } else {
                return LESS_THAN_20[num / 100] + " Hundred " + helper(num % 100);
            }
        }
    }
  • 相关阅读:
    javascript:属性的操作
    javascript:Element 节点
    javascript:ParentNode 接口,ChildNode 接口
    javascript:NodeList 接口,HTMLCollection 接口
    javascript:Node接口
    javascript:DOM概述
    javascript:Promise 对象
    javascript:定时器
    javascript:异步操作概述
    javascript:严格模式
  • 原文地址:https://www.cnblogs.com/xuanlu/p/12289721.html
Copyright © 2011-2022 走看看