剑指 Offer 18. 删除链表的节点
这题挺好,一次性做出
重点是定义一个dummy节点,这样就不用特判head节点了
注意看一下链表这种指针的感觉
dummy.next=head
是把head指向的对象也指向了dummy
之后即使head=head.next这样改动head
dummy还是指的原来的位置
class Solution { public ListNode deleteNode(ListNode head, int val) { ListNode dummy=new ListNode(0); dummy.next=head; ListNode pre=dummy; while(head!=null)//初始值为空?? { if(head.val==val) { pre.next=head.next; break; } pre=head; head=head.next; } return dummy.next; } }