Skip to content

链表

反转链表

思路: 双指针迭代,prev记录前节点,curr遍历,反转指针
输入:head头节点
输出:反转后新头节点

思路及代码

思路:记录,反转
给前任赋null,现任是头节点
然后还有现任的时候,先把下任存好(const next = curr.next)
让现任的next指针去找前任,即 curr.next = prev
把前任换成现任, prev = curr
把现任换成下一任, curr = next
JS
function reverseList(head){  //传入头节点
    let prev = null, curr = head; //头节点前节点为null,curr拿到头节点
    while(curr){
        const next = curr.next; //拿到当前节点的下一节点
        curr.next = prev;  //当前节点的next指向prev
        prev = curr; //让prev指向curr当前指向的节点
        curr = next; //再让curr指向next
    }
    return prev;
}

Results

Theme Data

Page Data

Page Frontmatter

More

Check out the documentation for the full list of runtime APIs.

最近更新