zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 290 单词规律

    290. 单词规律

    给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。

    这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。

    示例1:

    输入: pattern = “abba”, str = “dog cat cat dog”
    输出: true
    示例 2:

    输入:pattern = “abba”, str = “dog cat cat fish”
    输出: false
    示例 3:

    输入: pattern = “aaaa”, str = “dog cat cat dog”
    输出: false
    示例 4:

    输入: pattern = “abba”, str = “dog dog dog dog”
    输出: false
    说明:
    你可以假设 pattern 只包含小写字母, str 包含了由单个空格分隔的小写字母。

    class Solution {
        public static boolean wordPattern(String pattern, String str) {
            if(pattern == null || str==null) return false;
            String[] string = str.split(" ");
            if(pattern.length() != string.length) return false;
            HashMap<Character,String> map = new HashMap<>();
    
            for(int i=0; i<pattern.length(); i++){
                char tmp = pattern.charAt(i);
                //key已经在
                if(map.containsKey(tmp)){
                    //不对应就失败
                    if(!map.get(tmp).equals(string[i])) return false;
                }
                //key不存在
                else{
                    //两个value的值一样 a-dog b-dog->false
                    if (map.containsValue(string[i])) return false;
                    else
                    //添加k-v值
                    map.put(tmp,string[i]);
                }
            }
            return true;
        }
    }
    
  • 相关阅读:
    实现控件的拖拽
    自定义控件——安卓旋转动画
    MD5简单实例
    TextView来实现跑马灯的效果
    Intent的简单使用
    SharedPreferences的封装
    ViewPager+fragment的使用
    安卓定时器
    2020重新出发,MySql基础,MySql视图&索引&存储过程&触发器
    2020重新出发,MySql基础,MySql表数据操作
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12946606.html
Copyright © 2011-2022 走看看