Given a pattern and a string str, find if str follows the same pattern.
Examples:
pattern = “abba”, str = “dog cat cat dog” should return true.
pattern = “abba”, str = “dog cat cat fish” should return false.
pattern = “aaaa”, str = “dog cat cat dog” should return false.
pattern = “abba”, str = “dog dog dog dog” should return false.
var wordPattern = function(pattern, str) {
var arr = str.split(' ');
var map = {},
used = {};
if(pattern.length != arr.length) {
return false
}
for(var i = 0; i < arr.length; i++) {
if(!map[arr[i]]) {
if(used[pattern[i]]){
return false
}else{
used[pattern[i]] = true;
}
map[arr[i]] = pattern[i]
}else{
if(map[arr[i]] != pattern[i]) {
return false
}
}
}
return true
};