LeetCode 273. Entero a palabras en inglés 【Java】

Descripción del título

Entero a las palabras inglesas

Código AC

El significado de esta pregunta es darle un número para que pueda expresar la lectura en inglés correspondiente. Leer un número en inglés tiene la característica de que cada tres números son un grupo (puede observar la lectura de muestra dada). Que podemos representar un número: el rango en el que la matriz está subrayado 1 a 999 (el último subrayado, este número 0 Laid condena a cabo por separado), __million__billion__thousand___. Para cada parte subrayada, puede escribir una función de parte por separado, es decir, ingrese un número dentro de 1000, el método de parte puede devolver su lectura en inglés correspondiente, y finalmente cada parte se divide en el millón / billón / mil correspondiente. .

class Solution {
    String[] small={"Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten",
        "Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"};
    String[] decade={"","","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"};
    String[] big={"Billion","Million","Thousand",""};
    public String numberToWords(int num) {
    	//特判0。
        if(num==0) return small[0];
        String res="";
        for(int i=1000000000,j=0;i>0;i/=1000,j++)
        {
            if(num>=i){
                res+=part(num/i)+big[j]+' ';
                num%=i;
            }
        }
        while(res.charAt(res.length()-1)==' ') res=res.substring(0,res.length()-1);
        return res;
    }

    String part(int num){
        String res="";
        if(num>=100){
            //此处需要注意Hundred前后都有空格
            res+=small[num/100]+" Hundred ";
            num%=100;
        }
        if(num==0) return res;
        //小于20的,可以直接加
        if(num>=20){
            res+=decade[num/10]+' ';
            num%=10;
        }
        if(num==0) return res;
        res+=small[num]+' ';
        return res;
    }
}
201 artículos originales publicados · Me gusta9 · Visitantes más de 10,000

Supongo que te gusta

Origin blog.csdn.net/weixin_40992982/article/details/105516636
Recomendado
Clasificación