From 157ab60768bc8858a9055f6aa93f536606e2578d Mon Sep 17 00:00:00 2001 From: Tharun Kanna <66260870+tharunkanna14@users.noreply.github.com> Date: Tue, 8 Nov 2022 22:19:54 +0530 Subject: [PATCH] Create 290-word-pattern --- java/290-word-pattern | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 java/290-word-pattern diff --git a/java/290-word-pattern b/java/290-word-pattern new file mode 100644 index 000000000..0edd966b6 --- /dev/null +++ b/java/290-word-pattern @@ -0,0 +1,26 @@ +class Solution { + public boolean wordPattern(String pattern, String s) { + String[] sArray = s.split("\s"); + if(sArray.length != pattern.length()) { + return false; + } + + HashMap charToWord = new HashMap<>(); + HashMap wordToChar = new HashMap<>(); + + for (int i = 0; i < pattern.length(); i++) { + + if(charToWord.containsKey(pattern.charAt(i)) && !charToWord.get(pattern.charAt(i)).equals(sArray[i])) { + return false; + } + + if(wordToChar.containsKey(sArray[i]) && !wordToChar.get(sArray[i]).equals(pattern.charAt(i))) { + return false; + } + + charToWord.put(pattern.charAt(i),sArray[i]); + wordToChar.put(sArray[i],pattern.charAt(i)); + } + return true; + } +}