LeetCode #290
单词规律
给定一种规律 pattern
和一个字符串 s
,判断 s
是否遵循相同的规律。
这里的 遵循 指完全匹配,例如, pattern
里的每个字母和字符串 s
中的每个非空单词之间存在着双向连接的对应规律。
示例1:
输入:pattern = “abba”, s = “dog cat cat dog”
输出:true
示例 2:
输入:pattern = “abba”, s = “dog cat cat fish”
输出:false
示例 3:
输入:pattern = “aaaa”, s = “dog cat cat dog”
输出:false
提示:
1 <= pattern.length <= 300
pattern
只包含小写英文字母1 <= s.length <= 3000
s
只包含小写英文字母和' '
s
不包含 任何前导或尾随对空格s
中每个单词都被 单个空格 分隔
题解
1 | class Solution { |
LeetCode #291
单词规律 II
给你一种规律 pattern
和一个字符串 s
,请你判断 s
是否和 pattern
的规律相匹配。
如果存在单个字符到字符串的 双射映射 ,那么字符串 s
匹配 pattern
,即:如果pattern
中的每个字符都被它映射到的字符串替换,那么最终的字符串则为 s
。双射 意味着映射双方一一对应,不会存在两个字符映射到同一个字符串,也不会存在一个字符分别映射到两个不同的字符串。
示例 1:
输入:pattern = “abab”, s = “redblueredblue”
输出:true
解释:一种可能的映射如下:
‘a’ -> “red”
‘b’ -> “blue”
示例 2:
输入:pattern = “aaaa”, s = “asdasdasdasd”
输出:true
解释:一种可能的映射如下:
‘a’ -> “asd”
示例 3:
输入:pattern = “aabb”, s = “xyzabcxzyabc”
输出:false
提示:
1 <= pattern.length, s.length <= 20
pattern
和s
由小写英文字母组成
题解
参考题解:@czwhl123
1 | class Solution { |