一个 ive code 普通 urn tno next value
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Supposed the linked list is
and you are given the third node with value
- 1 -> 2 -> 3 -> 4
, the linked list should become
- 3
after calling your function.
- 1 -> 2 -> 4
思路:
先考虑特殊情况:(1)链表为空(2)只有一个节点 -- 都直接返回
普通情况:链表不为空,且后续节点也不为空
- /**
- * Definition for singly-linked list.
- * struct ListNode {
- * int val;
- * struct ListNode *next;
- * };
- */
- void deleteNode(struct ListNode * node) {
- if (!node) //链表不为空
- return;
- else if (node - >next) { //要删的节点还有后续节点
- node - >val = node - >next - >val;
- node - >next = node - >next - >next;
- } else //其他情况,如列表不为空且要删除的是最后一个节点
- return;
- }
237. Delete Node in a Linked List
来源: http://www.bubuko.com/infodetail-2286167.html