码迷,mamicode.com
首页 > 其他好文 > 详细

单词模式

时间:2018-06-22 23:53:42      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:split   desc   des   http   字母   结果   用两个   continue   problems   

 

技术分享图片

思路:用两个hash表来存储pattern中每个字母对应的word和单词中每个word对应的pattern中的字母。

def word_pattern(pattern, words):
    ‘‘‘

    :param pattern: str
    :param words: str
    :return: boolean
    ‘‘‘
    word_list = words.split()
    word_buffer = {}
    pattern_buffer = {}
    i = 0
    if len(word_list) != len(pattern):
        return False
    for each in word_list:
        if each in word_buffer.keys():
            if word_buffer.get(each) == pattern[i]:
                i += 1
                continue
            else:
                return False
        else:
            if pattern[i] in pattern_buffer.keys():
                return False
            else:
                word_buffer[each] = pattern[i]
                pattern_buffer[pattern[i]] = each
                i += 1
    return True

以下是我在leetcode上提交的结果:

技术分享图片

leetcode上的题目的地址是:https://leetcode.com/problems/word-pattern/description/

 

单词模式

标签:split   desc   des   http   字母   结果   用两个   continue   problems   

原文地址:https://www.cnblogs.com/whatyouknow123/p/9215723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!