链表

链表示例

//双链表
class ListNode {
    int val;
    ListNode next, prev;
    ListNode(){}
    ListNode(int val){
        this.val = val;
    }
}

链表增加结点

单链表

链表-添加节点

修改两个结点的next

双链表,要修改四处,前一个结点的next,添加结点的prev、next,后一个结点的prev。

且修改有顺序,要注意前面的修改不能影响后面。

建议顺序:添加的结点的next,后一个结点的prev,前一个结点的next,添加的结点的prev。

newNode.next = cur.next;
cur.next.prev = newNode;
cur.next = newNode;
newNode.prev = cur;

链表删除节点

单链表

链表-删除节点

一行, pre.next = pre.next.next;

双链表,需要改两处,前一个结点的next,后一个结点的prev

SNinfinite

立志成为Double E的程序猿

您可能还喜欢...

发表评论

您的电子邮箱地址不会被公开。