【LeetCode】Word Pattern 解题报告
2017-05-19 13:52
666 查看
【LeetCode】Word Pattern 解题报告
标签(空格分隔): LeetCode题目地址:https://leetcode.com/problems/word-pattern/#/description
题目描述:
Given a pattern and a string str, find if str follows the same pattern.Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.
Examples: pattern = "abba", str = "dog cat cat dog" should return true. pattern = "abba", str = "dog cat cat fish" should return false. pattern = "aaaa", str = "dog cat cat dog" should return false. pattern = "abba", str = "dog dog dog dog" should return false.
Notes:
You may assume pattern contains only lowercase letters, and str contains lowercase letters separated by a single space.
Ways
这个题第一感觉就是使用HashMap,看到Tags也是HashMap我就放心了。想法基本就是把字符和单词对应起来,看单词和字符能不能对应上,这样就知道模式是否匹配了。做的时候出现了一个小问题,就是pattern = "abba", str = "dog dog dog dog"这种,要判断是不是已经放进了value,之前不知道怎么办,今天学到了HashMap有个containsValue()方法,可以判断是否已经放进了value。
public class Solution { public boolean wordPattern(String pattern, String str) { HashMap<Character, String> map = new HashMap<Character, String>(); String[] words = str.split(" "); if(words.length != pattern.length()){ return false; } for(int i = 0; i < words.length; i++){ String word = words[i]; char temp = pattern.charAt(i); if(map.containsKey(temp)){ if(!map.get(temp).equals(word)){ return false; } }else{ if(map.containsValue(word)){ return false; } map.put(temp, word); } } return true; } }
Date
2017 年 5 月 19 日相关文章推荐
- 【LeetCode】291.Word Pattern II(Hard)解题报告
- [leetcode] 291. Word Pattern II 解题报告
- [Leetcode] 291. Word Pattern II 解题报告
- 【LeetCode】Word Break 解题报告
- [Leetcode] Length of Last Word 解题报告
- LeetCode Word Ladder解题报告
- leetcode 解题报告 Word Ladder II
- [LeetCode]Word Ladder,解题报告
- [Leetcode] 245. Shortest Word Distance III 解题报告
- [leetcode] 244. Shortest Word Distance II 解题报告
- Leetcode 126. Word Ladder II 字符变换2 解题报告
- [LeetCode]Word Break,解题报告
- leetcode 解题报告 Word Break
- [leetcode] 140. Word Break II 解题报告
- [Leetcode] 126. Word Ladder II 解题报告
- [Leetcode] 211. Add and Search Word - Data structure design 解题报告
- [Leetcode] 127. Word Ladder 解题报告
- [Leetcode] 140. Word Break II 解题报告
- [leetcode] 212. Word Search II 解题报告
- [Leetcode] Length of Last Word 解题报告