diff --git a/wordPattern.java b/wordPattern.java new file mode 100644 index 000000000000..adb3843e789e --- /dev/null +++ b/wordPattern.java @@ -0,0 +1,30 @@ +class Solution { + public boolean wordPattern(String pattern, String s) { + String[] words = s.split(" "); + if (words.length != pattern.length()) { + return false; + } + + Map charToWord = new HashMap<>(); + Map wordToChar = new HashMap<>(); + + for (int i = 0; i < pattern.length(); i++) { + char c = pattern.charAt(i); + String word = words[i]; + + if (!charToWord.containsKey(c)) { + charToWord.put(c, word); + } + + if (!wordToChar.containsKey(word)) { + wordToChar.put(word, c); + } + + if (!charToWord.get(c).equals(word) || !wordToChar.get(word).equals(c)) { + return false; + } + } + + return true; + } +}