实现一个函数,计算一个字符串中相邻重复单词的个数(不区分大小写)。两个或两个以上相等的单词依次出现视为一个。

示例
"dog cat" --> 0
"dog DOG cat" --> 1
"apple dog cat" --> 0
"pineapple apple dog cat" --> 0
"apple apple dog cat" --> 1
"apple dog apple dog cat" --> 0
"dog dog DOG dog dog dog" --> 1
"dog dog dog dog cat cat" --> 2
"cat cat dog dog cat cat" --> 3

参考答案

// 可以引⼊的库和版本相关请参考 “环境说明”
// 必须定义⼀个 包名为 `main` 的包

package main
import (
     "strings"

)

func solution(s string) int {
  words := strings.Split(s, " ")
  prev := ""
  var justCounted bool
  var count int
  for _, w := range words {
    w := strings.ToLower(strings.TrimSpace(w))
    if w == prev {
      if !justCounted {
        count++
      }
      justCounted = true
    } else {
      justCounted = false
    }
    prev = w
  }
  return count
}

在第五个示例中 参考答案将相同的空格作为相同而不是题意的apple
应当先去除重复的空格

最后修改:2022 年 03 月 19 日
如果觉得我的文章对你有用,请随意赞赏