LintCode: Remove Linked List Elements

简介:

C++

复制代码
 1 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     ListNode *next;
 6  *     ListNode(int x) : val(x), next(NULL) {}
 7  * };
 8  */
 9 class Solution {
10 public:
11     /**
12      * @param head a ListNode
13      * @param val an integer
14      * @return a ListNode
15      */
16     ListNode *removeElements(ListNode *head, int val) {
17         // Write your code here
18         // Find the first non-Val node
19         while ( head != NULL && head->val == val ) {
20             head = head->next;
21         }
22         // If the head is NULL, return
23         if ( head == NULL ) {
24             return head;
25         }
26         // Remove the left val nodes
27         ListNode *pre = head;
28         ListNode *cur = pre->next;
29         while ( cur != NULL ) {
30             if ( cur->val != val ) {
31                 pre->next = cur;
32                 pre = pre->next;
33             }
34             cur = cur->next;
35         }
36         // In case of the tail has val node
37         pre->next = cur;
38         // return
39         return head;
40     }
41 };
复制代码

 本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4998696.html,如需转载请自行联系原作者

目录
打赏
0
0
0
0
65
分享
相关文章
leetcode 203 Remove Linked List Elements
 Remove all elements from a linked list of integers that have valueval. ExampleGiven: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6Return: 1 ...
884 0
LeetCode 203. Remove Linked List Elements
删除链表中等于给定值 val 的所有节点。
121 0
LeetCode 203. Remove Linked List Elements
[LeetCode] Remove Linked List Elements
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
1131 0
Remove Linked List Elements
Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6Return: 1 --> 2 --> 3 --> 4 --> 5 注意是不是头结点就ok了。
844 0
[LeetCode]--203. Remove Linked List Elements
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 –>
1062 1
LeetCode 92. Reverse Linked List II
给定一个链表,反转指定的子序列.
128 0
LeetCode 92. Reverse Linked List II
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等