加和不加else为什么会有两种结果

来源:5-10 【勤于思考,夯实学习成果】阶段思考题

提桶跑

2023-03-25

判断回文链表成功

var reverseList=function(head){
    let p1=head;
    let p2=null;
    while(p1){
        const t=p1.next
        p1.next=p2;
        p2=p1;
        p1=t;
    }
    return p2;
}

var isPalindrome = function(head) {
    let p=head;
    let q=reverseList(p);
    while(p && q){
       if(p.val===q.val){
           p=p.next;
           q=q.next;
       }
       else{
           return false;
       }
    }
    return true;
    
};

判断失败的代码

var reverseList=function(head){
    let p1=head;
    let p2=null;
    while(p1){
        const t=p1.next
        p1.next=p2;
        p2=p1;
        p1=t;
    }
    return p2;
}

var isPalindrome = function(head) {
    let p=head;
    let q=reverseList(p);
    while(p && q){
       if(p.val===q.val){
           p=p.next;
           q=q.next;
       }
       
        return false;
      
    }
    return true;
    
};
写回答

1回答

lewis

2023-03-29

可以加个log调试一下,肉眼debug难度较大

0
0

JavaScript版数据结构与算法 轻松解决前端算法面试

夯实算法基础,填补技术短板,助力面试考题最后一公里

2481 学习 · 683 问题

查看课程