Word Pattern – LeetCode – Java

Word Pattern is a problem which is solved using Hashmap

Let’s take a look at some examples for better understanding of the question.

Example 1:

Input : pattern = “abba”, s = “dog cat cat dog”
Output : true
Explanation : ‘a’ is mapped with dog and ‘b’ is mapped with cat

Example 2:

Input: pattern = “abba”, s = “dog cat cat fish”
Output: false
Explanation : a -> dog
b -> cat
a -> fish (Since ‘a’ is already mapped with dog and it cannot be used to map again with some other string. Hence, the result false)

Example 3: (An important test case)

Input : pattern = “abba”, s = “dog dog dog dog”
Output : false
Explanation : a -> dog
b -> dog
(Since ‘a’ is mapped with dog and ‘b’ is also mapping the same string. Hence, the result false)

Code

class Solution { public boolean wordPattern(String pattern, String s) { String arr[] = s.split(" "); int n = arr.length; if(pattern.length()!=n) return false; Map<Character, String> map = new HashMap<>(); for(int i=0; i<n; i++){ char ch = pattern.charAt(i); if(map.containsKey(ch) && !(map.get(ch).equals(arr[i]))) return false; if(!map.containsKey(ch) && map.containsValue(arr[i])) return false; map.put(ch, arr[i]); } return true; }
}
Enter fullscreen mode
Exit fullscreen mode

Thanks for reading🥰.
Feel free to comment🖌️ and like the post💓
Follow for more 🤝 && Happy Coding🚀👩‍💻

Don’t forget to check-out my other socials😍:
Github
Hashnode
Medium
Twitter(X)


Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Leave a Comment

Your email address will not be published. Required fields are marked *

Discover more from Coursity

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top
Mastermega content megamenu menuitem – cloudy storage. Privacy, cookie & data policy.