290. Word Pattern
class Solution {
/**
* @param String $pattern
* @param String $s
* @return Boolean
*/
function wordPattern($pattern, $s) {
$words = explode(' ', $s);
if (count($words) != strlen($pattern)) {
return false;
}
$rules = []; // [patteren => word]
foreach($words as $index => $word) {
if (isset($rules[$pattern[$index]])) {
// current is not matched
if ($rules[$pattern[$index]] !== $word) {
return false;
}
}
// try to define rule
else {
if (in_array($word, $rules)) {
return false;
} else {
$rules[$pattern[$index]] = $word;
}
}
}
return true;
}
}
Last updated