题解 | #字符串最后一个单词的长度#

字符串最后一个单词的长度

https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
    var input string
    Scan(&input)
    fmt.Print(LastStringLength(input))
}

func Scan(input *string) {
    reader := bufio.NewReader(os.Stdin)
    data, _, _ := reader.ReadLine()
    *input = string(data)
}

func LastStringLength(str string) int {
    l, r := len(str)-1, len(str)-1
    for l >= 0 && str[l] != ' ' {
        l--
    }
    return r-l
}

使用标准scan函数遇到空格或换行符时结束,但是我们遇到空格需要继续扫描,所以自定义Scan函数进行扫描,参数一定要是input指针,因为go语言参数传递方式是复制副本,修改input值之后在main函数中的input变量值并未改变,而传递指针就可以修改input变量。

然后利用指针遍历最后一个单词的长度

#golang#
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务