LeetCode 237.删除链表中的节点
2019-04-16 22:40
351 查看
我的思路
无法访问前一个结点,因此不能用惯常的删除结点方法。
那么就从后往前赋值,然后删除结尾结点。
这是我一开始的思路,但不是最好的方法。
void deleteNode(ListNode* node) { ListNode *p = node; while(p->next){ p->val = p->next->val; if(!p->next->next){ ListNode *temp = p->next; p->next = NULL; delete(temp); return ; } p = p->next; } }
更好的方法
还是看了题后评论,大呼精巧。
这种方法运用了链表“链”的特性,而我的思路是操作数组的思路。
void deleteNode(ListNode* node) { node->val = node->next->val; ListNode *temp = node->next; node->next = node->next->next; delete(temp); }
不删除多余结点的话会快上一点吧,但没必要。
相关文章推荐
- LeetCode 237. Delete Node in a Linked List(删除链表中的一个节点)
- 【LeetCode】Python实现-237. 删除链表中的节点
- LeetCode 237. 删除链表中的节点
- Leetcode刷题14-237.删除链表中的节点(C++)
- LeetCode 237. Delete Node in a Linked List - 删除链表中的一个节点
- leetcode 237. Delete Node in a Linked List(删除链表中的特定节点)
- [LeetCode] 237. Delete Node in a Linked List 删除链表的节点
- LeetCode 19. 删除链表的倒数第N个节点
- Leetcode 19.删除链表的倒数第N个节点
- LeetCode 82. Remove Duplicates from Sorted List II(删除链表中的重复节点)
- Leetcode 237/83/203 两个指针与链表节点删除
- 每日一恋 - LeetCode 203 & 19 & 237. Remove Linked List Elements(删除链表中的节点)
- 在单向链表中如何快速查到倒数第n个节点 这简直是一种神奇的思路!!!!leetcode 删除倒数第n个节点
- leetcode 删除链表的倒数第N个节点
- [LeetCode-19] Remove Nth Node From End of List(删除链表中倒数第N个节点)
- 【LeetCode题解】19_删除链表的倒数第N个节点(Remove-Nth-Node-From-End-of-List)
- LeetCode 从链表中删除倒数第N个节点
- Leetcode做题日记:19. 删除链表的倒数第N个节点(PYTHON)
- 【leetcode】删除单向链表的节点
- leetcode19 Remove Nth Node From End of List(删除链表的倒数第N个节点)