Loading
Leetcode / word-pattern

Pick a programming language:

Here is the source code for the solution to this problem.

import java.util.HashMap;
import java.util.HashSet;

class Solution {
    public boolean wordPattern(String pattern, String s) {
        String[] words = s.split(" ");

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

        HashMap<Character, String> patternToWord = new HashMap<Character, String>();
        HashSet<String> wordSet = new HashSet<String>();

        for (int i = 0; i < words.length; i++)
        {
            char patternChar = pattern.charAt(i);
            String word = words[i];

            if (patternToWord.containsKey(patternChar))
            {
                if (!patternToWord.get(patternChar).equals(word))
                {
                    return false;
                }
            }
            else
            {
                if (wordSet.contains(word))
                {
                    return false;
                }
                patternToWord.put(patternChar, word);
                wordSet.add(word);
            }
        }

        return true;
    }
}
Did you like the lesson? 😆👍
Consider a donation to support our work: