Given a List of words, return the words that can be typed using letters of alphabet on only one row’s of American keyboard like the image below.
拿到这个题目感觉会比较简单,但是看着自己写的内容觉得步骤有点多啊~
/**
* @param {string[]} words
* @return {string[]}
*/
var findWords = function(words) {
var str1=['Q','W','E','R','T','Y','U','I','O','P'];
var str2=["A","S","D","F","G","H","J","K","L"];
var str3=["Z","X","C","V","B","N","M"];
var result=[];
var flag=true;
for (var i=0;i<words.length;i++){
var str=str1;
flag=true;
if(str2.indexOf(words[i][0].toUpperCase())>-1)str=str2;
else if(str3.indexOf(words[i][0].toUpperCase())>-1)str=str3;
for(var j=0;j<words[i].length;j++){
if(str.indexOf(words[i][j].toUpperCase())<0){
flag=false;
break;
}
}
if(flag)result.push(words[i]);
}
return result;
};
总结
这一个还需要再优化优化