LeetCode(203) Remove LinkedList Elements
来源:互联网 发布:战地2mac版下载 编辑:程序博客网 时间:2024/05/21 07:09
题目
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 –> 5
Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.
分析
删除链表中的指定值的节点。
需要注意的是,所需要删除节点的位置,头,中间,尾,不同位置需要不同处理,避免断链~
AC代码
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* removeElements(ListNode* head, int val) { if (head == NULL) return head; ListNode *pre = head, *p = head; while (p) { //找到要删除的节点元素 if (p->val == val) { //判断当前节点为头结点 if (p == head) { head = p->next; ListNode *q = p; //更新头 p = head; pre = head; delete q; q = NULL; } //删除尾节点 else if (p->next == NULL) { pre->next = NULL; delete p; p = NULL; } //删除链表中间节点 else{ pre->next = p->next; ListNode *q = p; p = p->next; delete q; q = NULL; }//else }//if else{ pre = p; p = p->next; } }//while return head; }};
GitHub测试程序源码
0 0
- LeetCode(203) Remove LinkedList Elements
- LeetCode-Easy部分中标签为LinkedList 203Remove Linked List Elements
- LeetCode 203 Remove Linked List Elements(链表操作)
- LeetCode 203 Remove Linked List Elements
- LeetCode 203-Remove Linked List Elements
- leetcode 203: Remove Linked List Elements
- LEETCODE 203 Remove Linked List Elements
- [LeetCode 203]Remove Linked List Elements
- leetcode 203 Remove Linked List Elements
- [Leetcode 203, Easy] Remove Linked List Elements
- Leetcode NO.203 Remove Linked List Elements
- leetCode #203 remove linked list elements
- LeetCode 203:Remove Linked List Elements
- 【leetcode】【单链表】【203】Remove Linked List Elements
- 【leetcode 203 Remove Linked List Elements 】
- leetcode[203]:Remove Linked List Elements
- Leetcode[203]-Remove Linked List Elements
- leetcode 203 -- Remove Linked List Elements
- 12299 - RMQ with Shifts
- Oracle 11g修改中文字符集
- 安装bugzilla
- 真机安装Linux操作系统_Centos为例
- 【SSH项目实战】国税协同平台-15.系统、子系统首页&登录功能2
- LeetCode(203) Remove LinkedList Elements
- truncate函数
- Android:开源框架xutils介绍之 BitmapUtils
- Eclipse中web项目部署至Tomcat步骤
- Fedora22添加国内软件源和本地软件源
- windows下命令行下启动oracle服务
- JAVA线程池ThreadPoolExecutor与阻塞队列BlockingQueue
- oracle备份还原
- 深刻理解C#中资源释放