首页 > 试题广场 >

检查重复字符串

[编程题]检查重复字符串
  • 热度指数:55196 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定字符串 str,检查其是否包含连续重复的字母(a-zA-Z),包含返回 true,否则返回 false
示例1

输入

'rattler'

输出

true

function containsRepeatingLetter(str) {

  let reg = /([a-zA-Z])\1/

  return reg.test(str)

}
编辑于 2021-06-06 09:47:37 回复(0)
function containsRepeatingLetter(str) {
    let reg = /[a-zA-Z]/
    for(let i = 0; i < str.length -1 ; i++){
        if(str[i] === str[i+1] && reg.test(str[i])){
            return true
        }
    }
    return false
}
for循环判断加正则表达式判断
发表于 2021-04-01 15:15:37 回复(0)
function containsRepeatingLetter(str) {
    for (let i = 0; i < str.length; i++) {
        str[i] = '' + str[i]
        if ((str[i] === (str[i + 1] || str[i - 1])) && /[a-zA-Z]/.test(str[i])) {
            return true
        }
    }
    return false
}


发表于 2021-03-18 20:58:18 回复(0)
function containsRepeatingLetter(str) {
    let arr=str.split(''),flag=false;
    for(let i=0;i<arr.length;i++){
        if(arr[i]==arr[i+1]&&isNaN(arr[i])){
            flag=true
        }
    }
    return flag
}
发表于 2021-01-18 19:11:17 回复(0)
function containsRepeatingLetter(str) {
     for (var i = 0; i < str.length; i++) {          
                if (str.indexOf(str[i]) == str.lastIndexOf(str[i]) - 1) {
                    return true
                }
            }
            return false
        }
在VsCode里测试能通过,在这里只有80%,为什么呢。。。
发表于 2020-10-08 15:53:32 回复(1)
考点 :主要考虑有数字的情况。提交了多次通过率都是80%,看了别人的解题思路都是正则,奈何我写不来正则,就用了比较笨的方法。
function testNumber(data){
	return  parseInt(data) === 0 ||  parseInt(data) 
}  
function containsRepeatingLetter(str) {
    if(!str.length){
        return;
    }
    var flag = false;
    for(var i =0; i < str.length - 1; i++){
        if( !testNumber(str[i]) && !testNumber[i + 1] && str[i] === str[i + 1]){
            flag = true
        }
        if(flag){
            break;
        }
    }
    return flag;
    
}
var s = "s0011dfHhGFd"
console.log(containsRepeatingLetter(s))


发表于 2020-06-17 16:17:37 回复(0)
有没有大佬,不用正则解决一下,期待。。。
发表于 2020-04-29 06:05:29 回复(0)
function containsRepeatingLetter(str) {
    return /([a-zA-Z])\1/.test(str);
}

发表于 2019-09-07 20:24:19 回复(0)
function containsRepeatingLetter(str) {
    return /([a-zA-Z])\1/.test(str)
}
  • javascript正则()表示分组
  • \1表示第一组
发表于 2018-12-01 11:21:15 回复(0)
//我的方法相当笨拙,但是特别好理解了吧,哈哈
function containsRepeatingLetter(str) {
    var reg = /(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z){2,}/;
    var length = str.length;
    var reg2 = new RegExp("(aa|bb|cc|dd|ee|ff|gg|hh|ii|jj|kk|ll|mm|nn|oo|pp|qq|rr|ss|tt|uu|vv|ww|xx|yy|zz|AA|BB|CC|DD|EE|FF|GG|HH|II|JJ|KK|LL|MM|NN|OO|PP|QQ|RR|SS|TT|UU|VV|WW|XX|YY|ZZ){1,}");
    return reg2.test(str);
}

发表于 2018-10-12 17:05:45 回复(0)
链接:https://www.nowcoder.com/questionTerminal/5ef31f11adf64d9fb18d74860e9ab873
来源:牛客网
function containsRepeatingLetter(str) {
    for(var i =0;i<str.length;i++){
        if(str[i] == str[i+1] && /[a-zA-Z]/.test(str[i])){
            return true;
        }
    }
    return false;

}
发表于 2018-09-09 20:23:01 回复(0)
function containsRepeatingLetter(str) {
    var arr = str.split('');
    return arr.some(function(item,index){
        return item===arr[index+1];
    });
}

80% 不知道这个有什么问题呢 希望有大佬解释一波  感激不尽 请你吃辣条
发表于 2018-04-22 21:56:40 回复(1)
function containsRepeatingLetter(str) {
    for(var i = 0;i<str.length;i++){
        for(var j = i+1;j<str.length;j++){
            if(str[i] == str[j]){
                return true;
            }
        }
    }
    return false;
}
这个通过率为什么只有80%?
发表于 2017-09-22 10:41:11 回复(0)
function containsRepeatingLetter(str) {
var astr=/([a-zA-Z])\1/;
    return astr.test(str);
}
发表于 2017-08-27 16:11:57 回复(0)
求助 为啥下面的代码不能通过测试测试
function containsNumber(str) {
     var reg = /([a-zA-Z])\1*/g;
     var ans = str.match(reg);
//   console.log(ans)
     if(ans){
      ans.sort(function(a,b){
//    console.log(a.length+" "+b.length);
        return a.length<b.length;
      })
      if(ans[0].length>1){
        return true;
      }
      else{
     //   console.log(ans[0]);
      return false
      }
     }
      else{
      //  console.log(str.match(reg));
        return false;
      }
}
发表于 2017-05-06 17:37:58 回复(0)
function containsRepeatingLetter(str) {
     return /([a-zA-Z])\1/.test(str);
}

使用正则表达式
发表于 2017-03-14 10:37:48 回复(0)
function containsRepeatingLetter(str) {
    var temp = 0;
	for(var i = 0; i < str.length; i++){
        for(var j = i + 1; j < str.lengt敏感词emp = str[i];
            if(temp == str[j] && (i == j - 1) ){
                return true;
            }
        }
    }
    return false;
}
请问这样为什么通过只有 80 % ?

发表于 2017-01-09 15:38:18 回复(2)