Blog.

单词规律

Cover Image for 单词规律
Bernie
Bernie

单词规律

leetcode 链接

思路:

typescript 解法

function wordPattern(pattern: string, s: string): boolean {
  let map1 = new Map();
  let map2 = new Map();
  const len1 = pattern.length;
  const arr = s.split(" ");
  const len2 = arr.length;
  if (len1 != len2) {
    return false;
  }
  for (let i = 0; i < len1; i++) {
    const key = pattern[i];
    const value = arr[i];
    if (!map1.get(key) && !map2.get(value)) {
      map1.set(key, value);
      map2.set(value, 1);
    } else if (map1.get(key) != value) {
      return false;
    }
  }
  return true;
}

go 解法

func wordPattern(pattern string, s string) bool {
    map1 := make(map[string]string)
    map2 := make(map[string]int)
    len1 := len(pattern)
    arrS := strings.Split(s, " ")
    len2 := len(arrS)
    if len1 != len2 {
        return false
    }
    for i := 0; i < len1; i ++ {
        key := string(pattern[i])
        value := arrS[i]
        if map1[key] == "" && map2[value] == 0 {
            map1[key] = value
            map2[value] = 1
        } else if map1[key] != value {
            return false
        }
    }
    return true
}