题解 | #单词倒排#

单词倒排

https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836

package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Scan()
	input := scanner.Bytes()
	nf := func(b byte) bool {
		if b >= 'A' && b <= 'Z' {
			return false
		}
		if b >= 'a' && b <= 'z' {
			return false
		}
		return true
	}
	l := 0
	for _, v := range input {
		if nf(v) {
			v = ' '
		}
		if l == 0 && v != ' ' {
			input[l] = v
			l++
			continue
		}
		if v == ' ' && l > 0 && input[l-1] == ' ' {
			continue
		}
		input[l] = v
		l++
	}
    input = input[:l]
	last := len(input)
	result := make([]string, 0)
	for i := len(input) - 1; i >= 0; i-- {
		if input[i] == ' ' {
			result = append(result, string(input[i+1:last]))
			last = i
		}
		if i == 0 {
			result = append(result, string(input[:last]))
		}
	}
	for i, v := range result {
		fmt.Print(v)
		if i != len(result)-1 {
			fmt.Print(" ")
		}
	}
}

全部评论

相关推荐

运营3年修炼中接简历辅导:你的科研项目经历里,只写了你的动作,没有写你的思考和成果,不要只写使用什么进行了什么,这等于罗列你的任务,简历是为了突出你的优秀,你在什么样的任务背景下,克服了什么样的困难,针对性地做了哪些事情,最后达成了什么成果(用数据体现你的成果和效率)
点赞 评论 收藏
分享
用户64975461947315:这不很正常吗,2个月开实习证明,这个薪资也还算合理,深圳Java好多150不包吃不包住呢,而且也提前和你说了没有转正机会,现在贼多牛马公司骗你说毕业转正,你辛辛苦苦干了半年拿到毕业证,后面和你说没hc了😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务