Remove Linked List Elements
来源:互联网 发布:网络药店排名 编辑:程序博客网 时间:2024/06/05 04:45
dummy node的妙用
1.切记 用了dummy node以后 要head 从dummy开始,把他们连接起来
ListNode* dummy = new ListNode(0);dummy->next = head;head = dummy;2. 用temp然后delete temp 完成删除
class Solution {public: ListNode* removeElements(ListNode* head, int val) { if (head == NULL) { return NULL; } ListNode* dummy = new ListNode(0); dummy->next = head; head = dummy; ListNode*temp = NULL; while(head->next != NULL) { if (head->next->val == val) { temp = head->next; head->next = head->next->next; //head = head->next; delete temp; } else { head = head->next; } } return dummy->next; }};
3. 其实这题的精髓还在使用 the address of the pointer
class Solution {public: ListNode* removeElements(ListNode* head, int val) { if (head == nullptr) { return head; } ListNode** node = &head; while ((*node) != nullptr) { if ((*node)->val == val) { ListNode* temp = *node;//这一步很关键 *node = (*node)->next; delete temp; } else node = &((*node)->next); } return head; }};
0 0
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- Remove Linked List Elements
- 20160309,微软3月8日发布13个安全补丁
- 在Spring中调用基于CXF框架的webService
- 设计模式(九)外观模式Facade(结构型)
- java枚举使用详解
- iOS证书描述文件说明
- Remove Linked List Elements
- Android最佳实践 —— 详细谈谈如何减小APK体积
- Ubuntu下 嵌入式Qt开发环境的搭建--转载
- C++面向对象高级编程笔记02--GeekBand
- 使用Jmeter进行Web站点性能测试实例
- PAT-Be Unique (20)
- 数据结构之“Ordered List and Sorted List”(七)
- 8A大功率直流稳压电源设计
- 三角剖分算法(delaunay)