2022-01-09:整数转换英文表示。将非负整数 num 转换为其对应的英文表示。 示例 1: 输入:num = 123, 输出:“One Hundred Twenty Three“。 力扣273。

Posted 福大大架构师每日一题

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022-01-09:整数转换英文表示。将非负整数 num 转换为其对应的英文表示。 示例 1: 输入:num = 123, 输出:“One Hundred Twenty Three“。 力扣273。相关的知识,希望对你有一定的参考价值。

2022-01-09:整数转换英文表示。将非负整数 num 转换为其对应的英文表示。
示例 1:
输入:num = 123,
输出:“One Hundred Twenty Three”。
力扣273。

答案2022-01-09:

时间紧。具体见代码。

代码用golang编写。代码如下:

package main

import (
    "fmt"
    "math"
    "strings"
)

func main() 
    num := 123
    ret := numberToWords(num)
    fmt.Println(ret)


func num1To19(num int) string 
    if num < 1 || num > 19 
        return ""
    
    names := []string"One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ", "Ten ",
        "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen", "Eighteen ",
        "Nineteen "
    return names[num-1]


func num1To99(num int) string 
    if num < 1 || num > 99 
        return ""
    
    if num < 20 
        return num1To19(num)
    
    high := num / 10
    tyNames := []string"Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety "
    return tyNames[high-2] + num1To19(num%10)


func num1To999(num int) string 
    if num < 1 || num > 999 
        return ""
    
    if num < 100 
        return num1To99(num)
    
    high := num / 100
    return num1To19(high) + "Hundred " + num1To99(num%100)


func numberToWords(num int) string 
    if num == 0 
        return "Zero"
    
    res := ""
    if num < 0 
        res = "Negative "
    
    if num == math.MinInt64 
        res += "Two Billion "
        num %= -2000000000
    
    num = Abs(num)
    high := 1000000000
    highIndex := 0
    names := []string"Billion ", "Million ", "Thousand ", ""
    for num != 0 
        cur := num / high
        num %= high
        if cur != 0 
            res += num1To999(cur)
            res += names[highIndex]
        
        high /= 1000
        highIndex++
    
    return strings.Trim(res, " ")


func Abs(a int) int 
    if a < 0 
        return -a
     else 
        return a
    

执行结果如下:


左神java代码

以上是关于2022-01-09:整数转换英文表示。将非负整数 num 转换为其对应的英文表示。 示例 1: 输入:num = 123, 输出:“One Hundred Twenty Three“。 力扣273。的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode 273.整数转换英文表示

273 Integer to English Words 整数转换英文表示

LeetCode 273. 整数转换英文表示 / 29. 两数相除 / 412. Fizz Buzz

《LeetCode之每日一题》:175.数字转换英文表示

将非数字字符串转换为整数?

将非数字字符串转换为整数?