首页 > 其他 > 详细

Word Pattern

时间:2015-10-07 10:48:27      阅读:320      评论:0      收藏:0      [点我收藏+]

 

Given a pattern and a string str, find if str follows the same pattern.

Examples:

  1. pattern = "abba", str = "dog cat cat dog" should return true.
  2. pattern = "abba", str = "dog cat cat fish" should return false.
  3. pattern = "aaaa", str = "dog cat cat dog" should return false.
  4. pattern = "abba", str = "dog dog dog dog" should return false.

 

Notes:

  1. patterncontains only lowercase alphabetical letters, and str contains words separated by a single space. Each word in str contains only lowercase alphabetical letters.
  2. Both pattern and str do not have leading or trailing spaces.
  3. Each letter in pattern must map to a word with length that is at least 1.

用两个Hashmap!

  

 1     public boolean wordPattern(String pattern, String str) 
 2     {
 3         String[] words;
 4         Map<String, Character> map1 = new HashMap<>();
 5         Map<Character,String> map2 = new HashMap<>();
 6         words = str.split(" ");
 7         if(pattern.length()!=words.length) return false;
 8         for(int i = 0; i<words.length;i++)
 9         {
10             if(map1.containsKey(words[i]))
11             {
12                 Character index = map1.get(words[i]);
13                 if (index != pattern.charAt(i)) return false;
14             }
15             
16             
17             if(map2.containsKey(pattern.charAt(i)))
18             {
19                 String index = map2.get(pattern.charAt(i));
20                 if (!index.equals(words[i])) return false;
21             }
22             
23             
24             map1.put(words[i],pattern.charAt(i));
25             map2.put(pattern.charAt(i),words[i]);
26         }
27         return true;
28     
29     }

 

Word Pattern

原文:http://www.cnblogs.com/hygeia/p/4858307.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!