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     }
  • 相关阅读:
    零基础学习Java Web开发(一)
    域名的定义
    MyEclipse使用(一)
    VB与C#语言部分不用的地方Part1
    使用XmlWriter创建XML文件
    Spring源码
    Websocket原理
    阿里云
    CSS中position属性( absolute | relative | static | fixed )详解
    C#UDP广域网,局域网通信-原理分析
  • 原文地址:https://www.cnblogs.com/hygeia/p/4858307.html
Copyright © 2011-2022 走看看