练习牛客网笔试题--前端js--51-检查重复的字符串
// 题目描述
// 给定字符串 str,检查其是否包含连续重复的字母(a-zA-Z),包含返回 true,否则返回 false
// 输入 'rattler'
// 输出 true
1.自己的练习
function containsRepeatingLetter1(str) {
var arr = str.match(/[a-zA-Z]/g);
var set = new Set(arr);
return arr.length !== set.size ? true : false;
}
2.题解
// 1. 传统方法
function containsRepeatingLetter(str) {
var len = str.length;
var p = 0;
var q = 1;
while (q < len) {
if (str.charAt(p) != str.charAt(q)) {
p++;
q++;
} else if ((str.charCodeAt(p) > 'a'.charCodeAt(0) && str.charCodeAt(p) < 'z'.charCodeAt(0)) || (str.charCodeAt(p) > 'A'.charCodeAt(0) && str.charCodeAt(p) < 'Z'.charCodeAt(0))) {
return true;
} else {
p++;
q++;
}
}
return false;
}
// 2. **** \1是对第一个括号中的内容的引用
function containsRepeatingLetter(str) {
var result = str.match(/([a-zA-Z])\1/);
console.log(result);
return /([a-zA-Z])\1/.test(str);
}