zoukankan      html  css  js  c++  java
  • Word Pattern

    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     }
  • 相关阅读:
    常用编码格式算法
    js显示当前时间
    客户端和服务器端乱码问题
    常用的小技巧
    开发jsp中常用标签
    java中的反射
    java中的单例设计模式
    java中的枚举类
    关于继承时构造方法的问题
    TCP三次握手和四次握手全过程 为什么要三次握手而不是二次握手?
  • 原文地址:https://www.cnblogs.com/hygeia/p/4858307.html
Copyright © 2011-2022 走看看