题解 | #表示数字#

表示数字

https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6

package main

import (
    "fmt"
)

func isDigit(ch byte) bool {
    return '0' <= ch && ch <= '9'
}

func transString(s string) string {
    var bs []byte

    right := 0
    for right < len(s) {
        if !isDigit(s[right]) {
            bs = append(bs, s[right])
            right++
            continue
        }

        bs = append(bs, '*')
        for right < len(s) && isDigit(s[right]) {
            bs = append(bs, s[right])
            right++
        }
        bs = append(bs, '*')
    }

    return string(bs)
}

func main() {
    var s string
    fmt.Scan(&s)
    fmt.Println(transString(s))
}
// 本题输入为一个字符串,所以采用:fmt.Scan(&s)

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务