虚拟结点:
在做题时会经常看到一个虚拟结点的概念,就是一个结点dummyNode,其next指针指向head,也就是dummyNode.next=head,因此如果使用了虚拟结点,注意若要获得head结点,在函数中应该返回dummyNode.next。
另外nummyNode中的val值不会被使用,可以初始化为0或者-1。
使用java实现链表的代码
链表的增删查改:
1.链表的头插法,假设要插入的结点为InsertNode,那么在进行链表的头插法时只需要令InserNode的next指针的值等于head的值,随后令head指向InserNode即可。
2.中间插入,待插入节点为InserNode,首先令待插入结点的next指针指向待插入位置的下一个结点,随后令待插入位置的前驱节点的指针指向待插入节点。如图
末尾插入同头插法较为简单