请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

这样修改就能在LeetCode通过了

let result = [];
    function search(cur, sub){
        // 当字符串大于12时肯定不能生成一个合法的IP地址
        if(sub.length > 12){
            return;
        }
        // 当当前数组中元素为4且拼接起来恰好需要处理的字符串,则将其加入result数组
        if(cur.length === 4 && cur.join('') === s){
            result.push(cur.join('.'));
        } else {
            // 否则,分别取出代码前1、2、3位进行递归处理
            // 由于剩余的字符串长度不一定大于等于3,所以对于长度还需要进行最小值的判断
            for(let i=0,length=Math.min(3, sub.length);i<length; i++){
                let temp = sub.slice(0, i+1);
                // 若数值大于255,则不可能形成合法IP地址
                if(parseInt(temp) < 256){
	                // 分割出的字符串若长度大于1,则第一位不允许为0
                    if(temp.length > 1 && temp[0] === '0'){
                        continue;
                    }
                    search(cur.concat([temp]), sub.slice(i+1));
                }
            }
        }
    }
    search([], s);
    return result;

正在回答 回答被采纳积分+3

2回答

aaayumi555 2021-08-01 16:49:19

哎好无语 买课还总是出错 出错又不重新录

0 回复 有任何疑惑可以回复我~
快乐动起来呀 2019-04-21 19:02:46

课程的源码有修改哈,是可以通过leetcode的,你这个代码可以贡献到git issue哈,对于优秀的代码是给予奖励的

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信