LeetCode203—Remove Linked List Elements
来源:互联网 发布:南京大学 人工智能 编辑:程序博客网 时间:2024/06/05 12:59
原题
原题链接
Remove all elements from a linked list of integers that have value val.
Example
Given: 1 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6, val = 6
Return: 1 –> 2 –> 3 –> 4 –> 5Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.Subscribe to see which companies asked this question
分析
链表删除,就是可能要删除多个节点,为此,删除节点之后另原指针指向被删节点的后一个节点。
另外,为了方便操作设置prev指针,为链表添加一个头节点。
代码
class Solution { private: void deleteNode(ListNode*prev,ListNode*&target) { prev->next=target->next; delete target; target=prev->next; } public: ListNode* removeElements(ListNode* head, int val) { ListNode* newHead=new ListNode(0); newHead->next=head; ListNode*target=newHead->next; ListNode*prev=newHead; while(target!=NULL) { if(target->val==val) { deleteNode(prev,target); } else { prev=prev->next; target=target->next; } } return newHead->next; }};
1 0
- LeetCode203——Remove Linked List Elements
- LeetCode203—Remove Linked List Elements
- LeetCode203:Remove Linked List Elements
- leetcode203 Remove Linked List Elements
- LeetCode203:Remove Linked List Elements
- leetcode203---Remove Linked List Elements
- Leetcode203. Remove Linked List Elements
- [leetcode203]Remove Linked List Elements
- leetcode203. Remove Linked List Elements
- leetcode203-Remove Linked List Elements
- Leetcode203. Remove Linked List Elements
- 递归——LeetCode203. 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
- 利用Java的net包获取网页源代码
- 为什么你招聘不到程序员,以及软件如何定义现实世界
- 敏捷其实很简单(13) 纠结的故事点
- 推进公司开发规范
- LeetCode 462. Minimum Moves to Equal Array Elements II
- LeetCode203—Remove Linked List Elements
- ios 页面跳转
- VS2005双击出现无效的许可证数据
- debug.keystore文件找不到
- CodeForces - 652B
- jqgrid动态设置某个单元格进入编辑状态
- shell、cmd、dos和脚本语言
- 如何实现浏览器内多个标签页之间的通信
- 史上最全的maven pom.xml文件教程详解