您的位置:首页 > Web前端 > JavaScript

LeetCode——Word Pattern的JavaScript的实现

2015-10-09 15:26 726 查看
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.

Notes:

pattern
contains only lowercase alphabetical letters, and 
str
 contains
words separated by a single space. Each word in 
str
 contains only lowercase
alphabetical letters.
Both 
pattern
 and 
str
 do
not have leading or trailing spaces.
Each letter in 
pattern
 must map to a word with length that is
at least 1.
关于判断字符串模式的问题,本打算用C语言来实现的,由于JavaScript语言处理字符串的能力比较方便,于是想到将patter和str通过split操作转换成对应的数组进行判断比较操作。循环判断pattern中的字符,相应的去判断对应index下的的str中的word,这样经过patter.length大小的判断,就能知道输入str符不符合pattern的形式。下面是我的代码:

JavaScript:

/**

 * @param {string} pattern

 * @param {string} str

 * @return {boolean}

 */

var wordPattern = function(pattern, str) {

    var myArr=str.split(' ');

    var myPattern=pattern.split('');

    var flag=1;

    if(pattern.length != myArr.length){

        return false;

    }

    for(var i=0;i<pattern.length;i++){

        for(var j=0;j<pattern.length;j++)

        {

            if(myPattern[i] == myPattern[j]){

                if(myArr[i] != myArr[j]){

                    flag=0;

                }

            }else{

                if(myArr[i] == myArr[j]){

                    flag=0;

                }

            }

        }

    }

    if(flag){

        return true;

    }else{

        return false;

    }

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息