最开始看到题目时,总以为str的 长度可以是pattern的几倍,并且想着先判断pattern的模式再来str中验证,而没有想到可以一边判断pattern模式一边验证str,所以弄得整个的代码很复杂。看了解题思路之后,才反应过来,这个实在是一个简单题。
代码如下:
var wordPattern = function(pattern, str) {
aPattern=pattern.split("");
aStr=str.split(" ");
if(aPattern.length!=aStr.length)
return false;
for(i=0;i<aPattern.length;i++){
for(j=i+1;j<aPattern.length;j++){
if(aPattern[i]==aPattern[j] && aStr[i]!=aStr[j])
return false;
else if(aPattern[i]!=aPattern[j] && aStr[i]==aStr[j])
return false;
}
}
return true;
};