LeetCode——Word Pattern的JavaScript的实现
2015-10-09 15:26
726 查看
Given a
find if
Examples:
pattern =
pattern =
pattern =
pattern =
Notes:
words separated by a single space. Each word in
alphabetical letters.
Both
not have leading or trailing spaces.
Each letter in
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;
}
};
patternand a string
str,
find if
strfollows 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:
patterncontains only lowercase alphabetical letters, and
strcontains
words separated by a single space. Each word in
strcontains only lowercase
alphabetical letters.
Both
patternand
strdo
not have leading or trailing spaces.
Each letter in
patternmust 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;
}
};
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 数据库链接字符串查询网站
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- IE8开发人员工具教程(二)
- Flex字符串比较 还有Flex字符串操作
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例