找两个单词规律-哈希表
力扣的简单题目,来找单词的规律,下面我们用python的dict来解决,思路:同时遍历pattern和s,因为s是用空格进行分割的,因此用python的split() 函数进行拆分即可。
Step1:统计pattern和s的长度是否一致,不一致返回False
Step2: 遍历pattern 和 s
Step3: 构建p_dict 和 s_dict 用于编码 ,构建 p_list和s_list来记录编码位置
Step4: 比较 p_list和s_list 是否一致
上代码:
class Solution: def wordPattern(self, pattern: str, s: str) -> bool: p_count=0 p_dict={} p_list=[] s_count=0 s_list=[] s_dict={} if len(pattern) != len(s.split()): return False for p_i,s_i in zip(pattern,s.split()): if p_i not in p_dict: p_dict[p_i]=p_count p_count+=1 p_list.append(p_dict[p_i]) if s_i not in s_dict: s_dict[s_i]=s_count s_count+=1 s_list.append(s_dict[s_i]) if p_list!=s_list: return False return True