找两个单词规律-哈希表

 

力扣的简单题目,来找单词的规律,下面我们用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

 

posted @ 2024-08-20 16:41  TW-NLP  阅读(7)  评论(0编辑  收藏  举报