给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。
返回删除后的链表的头节点。
- 判断删除节点的值和头结点相等吗,如果是那么返回头结点的下一个节点。
- 遍历链表找到删除节点的位置。
- 删除节点
public ListNode deleteNode(ListNode head, int val) {
//遍历链表找到节点
ListNode temp = head;
//头结点就是删除节点
if (temp.val == val){
head = head.next;
}else {
//头结点不是删除节点
while (temp.next.val != val || temp.next == null) {
temp = temp.next;
}
//删除该节点
temp.next = temp.next.next;
}
return head;
}
原文:https://www.cnblogs.com/coder-mx/p/13439272.html