js算法面试题:判断一个字符串(最多可删除一个字符),是否是回文字符串,

342 篇文章 9 订阅

首先回文字符串 就是 前后相等的  成对称形式的字符串

比如  :  aaabbbaaa      helloolleh 等

但题目中说的是 我们可以删除一个字符  

比如  aba 是回文   abca  不是回文 但是 删除一个  b或者c后 就是回文 这个也算 

要求:

aba   输出  true

abca 也是  true

let str = "abca";
        const isHui = (str, type = "1") => {
            let count = 0;
            for(var i = 0, len = str.length - 1; i < len; i++, len--) {
                (str[i] != str[len]) && count ++
            }
            if(count == 1 && type == 1) {
                str = str.slice(0, str.length - 2) + str.slice(-1);
                return isHui(str, 2);
            } 
            return (count == 0) ? true : false;
        }
        console.log(isHui(str))

有的童鞋可能要说了   你这个是写死的删除了倒数第二个字符  那你说应该删除那个位置的字符呢? 这个问题留给大佬来解决了 

关注我 持续更新前端知识  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunchong_zhao

帮到你了,请作者喝杯矿泉水可好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值