力扣打卡:剑指 Offer 18. 删除链表的节点
使用迭代进行遍历链表
使用虚拟头节点,使得head节点像普通节点一样删除
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode deleteNode(ListNode head, int val) { ListNode dummy = new ListNode(0); dummy.next = head; head = dummy; while(head != null && head.next != null){ // 判断是否为空链表,或者是下一个节点是否为空 可以使用哨兵节点 if(head.next.val==val) head.next = head.next.next; head = head.next; } return dummy.next; } }