题解 | #单词倒排#
单词倒排
http://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
package main import( "fmt" "bufio" "os" ) func main() { var chs []byte input := bufio.NewScanner(os.Stdin) for input.Scan() { str := input.Text() chs = []byte(str) } var chNew []byte //byte var strs []string //string // 非字母处理 for i:=0; i < len(chs); i++ { if (chs[i] >= 'a' && chs[i] <='z') || (chs[i] >= 'A' && chs[i] <= 'Z') { chNew = append(chNew,chs[i]) }else { //单词 if len(chNew) > 0 { strs = append(strs,string(chNew)) } chNew = chNew[0:0] } } // 最后一次chNew也需要记录下来 if len(chNew) > 0 { strs = append(strs,string(chNew)) } // 再次倒叙输出 for i:=len(strs)-1; i >= 0 ; i-- { fmt.Print(strs[i], " ") } }