1. 程式人生 > 其它 >290. 單詞規律

290. 單詞規律

集合

import java.util.HashMap;

class Solution {
    public boolean wordPattern(String pattern, String s) {

        /**
         * 使用map集合儲存字元-字串對應關係,只要有一個不滿足就返回false
         */
        String[] strs = s.split(" ");

        if (strs.length != pattern.length()){
            return false;
        }

        HashMap<Character, String> map = new HashMap<>();

        for (int i = 0; i < pattern.length(); i++) {

            if (!map.containsKey(pattern.charAt(i))){

                /**
                 * 不同鍵的值也不能相等
                 */
                if (map.values().contains(strs[i])){
                    return false;
                }

                map.put(pattern.charAt(i), strs[i]);
            }
            else {

                if (!map.get(pattern.charAt(i)).equals(strs[i])){
                    return false;
                }
            }
        }

        return true;
    }
}

/**
 * 時間複雜度 O(n)
 * 空間複雜度 O(n)
 */

https://leetcode-cn.com/problems/word-pattern/