给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。

这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。

示例1:

输入: pattern = "abba", str = "dog cat cat dog"
输出: true

示例 2:

输入:pattern = "abba", str = "dog cat cat fish"
输出: false

示例 3:

输入: pattern = "aaaa", str = "dog cat cat dog"
输出: false

示例 4:

输入: pattern = "abba", str = "dog dog dog dog"
输出: false

说明:
你可以假设 pattern 只包含小写字母, str 包含了由单个空格分隔的小写字母。

映射

首先建立一个空的字典映射表,用来对应pattern和str,首先把pattern中的每个字母都读入映射表中,值设置为空。

然后将str进行切分,根据index依次遍历pattern和str,如果当前键对应的值为空,说明是第一次遍历,将其设置为对应的单词,否则判断当前单词和对应的值是否相等,如果相等则匹配,如果不相等则不匹配。

Python

class Solution:def wordPattern(self, pattern: str, s: str) -> bool:mapp = dict()for i in range(len(pattern)):mapp[pattern[i]] = Nones = s.split(' ')if len(pattern) != len(s):return Falsefor i in range(len(s)):if mapp[pattern[i]] is None:mapp[pattern[i]] = s[i]elif mapp[pattern[i]] != s[i]:return Falsereturn True if len(set(mapp.values())) == len(mapp.values()) else False

《每日一题》290. Word Pattern相关推荐

  1. LeetCode刷题记录11——290. Word Pattern(easy)

    LeetCode刷题记录11--290. Word Pattern(easy) 目录 LeetCode刷题记录11--290. Word Pattern(easy) 题目 语言 思路 源码 后记 题目 ...

  2. 290. Word Pattern

    /** 290. Word Pattern* 2016-7-2 by Mingyang* 这里加上了没有containsValue,因为这里如果abba 和 dog dog dog dog通不过,* ...

  3. [LeetCode]--290. Word Pattern

    Given a pattern and a string str, find if str follows the same pattern. Here follow means a full mat ...

  4. 290. Word Pattern

    题目: Given a pattern and a string str, find if str follows the same pattern. Here follow means a full ...

  5. leetcode 290 Word Pattern

    题目链接:https://leetcode.com/problems/word-pattern/ 思路分析:题目要求判断在pattern中的字符与str中的非空word之间是否存在双射,解法如代码所示 ...

  6. C#LeetCode刷题之#290-单词模式(Word Pattern)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3778 访问. 给定一种 pattern(模式) 和一个字符串 s ...

  7. LeetCode : Word Pattern

    Given a pattern and a string str, find if str follows the same pattern. Here follow means a full mat ...

  8. LeetCode 290. Word Patter

    解题思路:先将字符串使用string流的形式分成一个个字符串,之后,将pattern和str 分别存到一个map容器中,并比较出现的次数是否相等. class Solution { public:bo ...

  9. 查找算法常见的五大面试知识点与两类实战!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:周郴莲,东北石油大学,Datawhale优秀学习者 前言 查找(S ...

最新文章

  1. return与exit()
  2. phpmyadmin error:#2002 - 服务器没有响应
  3. Centos7.2 基于LAMP框架部署Discuz论坛
  4. 理解 OpenStack Swift (2):架构、原理及功能 [Architecture, Implementation and Features]...
  5. 这些让人抓狂的烂代码,你碰到几种?
  6. 2020年7月程序员工资统计,平均14357元,又跌了,扎心
  7. Git学习笔记:远程仓库
  8. 腾讯云+校园扶持计划是bug还是福利
  9. 恐怖如斯,阿里P9总结的这份Java八股文,已经帮近百人拿到offer了
  10. Error:Unable to capture view hierarchy
  11. 稍微有点难度的10道java面试题,你会几道?
  12. 二叉树和哈希表的优缺点对比与选择
  13. 特斯拉要开杂货铺? 除了卖车还要卖短裤和酒水
  14. 最小可用ID(4种方法,详细讲解)
  15. windows 编译 使用bin lib include_YOLOv3-tiny在VS2015上使用Openvino部署
  16. 计算机打不开菜鸟打印组件,菜鸟打印常见问题
  17. 工具分享之NetSetMan
  18. 基于php和mysql的网上购物系统设计与实现_基于PHP+MySQL的网上购物系统设计与实现...
  19. 阿里云商标注册购物车功能怎么用?在哪查看?
  20. 国外android 邮件工具,对比测评国内外四个邮箱APP 邮箱大师表现最全能

热门文章

  1. python3中zip()函数的用法
  2. MongoDB在Windows系统下的安装和启动
  3. KnockoutJS 3.X API 第一章 简介
  4. php_中替换换行符
  5. CentOS虚拟机不能联网状况下yum方式从本地安装软件包
  6. [linux]cp和mv对文件和链接影响的区别
  7. C语言程序练习-L1-019 谁先倒 (15分)
  8. php 连接数据库 pod,PHP PDO类解决数据库连接问题
  9. 第一道java编程题
  10. 3dContactPointAnnotationTool开发日志(三三)