237. 删除链表中的节点 #链表 2024-10-28 12345678910111213class Solution {public: void deleteNode(ListNode* node) { ListNode* prev = node; while(node->next){ int val = node->next->val; node->val = val; prev = node; node = node->next; } // 最后一个节点 prev->next = NULL; }}; 即便如此,这份代码还是过于冗余,这本质上还是将待删除的节点的值改为下一个节点的值,然后指向下一个节点的指向。 12345678class Solution {public: // 题目已保证不是链表最后一个节点 void deleteNode(ListNode* node) { node->val = node->next->val; node->next = node->next->next; }}; 示意图如下: 237. 删除链表中的节点.png