老师,回文这个作业题,我用翻转链表反转了后,再将原链表和翻转的进行对比。但是指针已经走完了。是不是要涉及到链表的深拷贝了?

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

珈谊大英雄

2022-04-18

var reverseList = function(head2) {
    let p1 = head2;
    let p2 = null;
    while(p1) {
        const temp = p1.next;
        p1.next = p2;
        p2 = p1;
        p1 = temp;
    }
    return p2;
};
var isPalindrome = function(head) {
    let head2 = reverseList(head);
    while(head && head2) {
        if (head.val !== head2.val) return false;
    }
    return true
};
写回答

1回答

lewis

2022-04-18

解法有很多,深拷贝是不太高效的解法

0
0

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

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

2481 学习 · 683 问题

查看课程