Skip to content

Commit c523cbe

Browse files
committed
New Problem "Remove Linked List Elements"
1 parent fe6574f commit c523cbe

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ LeetCode
77

88
| # | Title | Solution | Difficulty |
99
|---| ----- | -------- | ---------- |
10+
|187|[Remove Linked List Elements](https://leetcode.com/problems/remove-linked-list-elements/)| [C++](./algorithms/removeLinkedListElements/RemoveLinkedListElements.cpp)|Easy|
1011
|186|[Happy Number](https://leetcode.com/problems/happy-number/)| [C++](./algorithms/happyNumber/HappyNumber.cpp)|Easy|
1112
|185|[Bitwise AND of Numbers Range](https://leetcode.com/problems/bitwise-and-of-numbers-range/)| [C++](./algorithms/bitwiseANDOfNumbersRange/BitwiseAndOfNumbersRange.cpp)|Medium|
1213
|184|[Number of Islands](https://leetcode.com/problems/number-of-islands/)| [C++](./algorithms/numberOfIslands/NumberOfIslands.cpp)|Medium|
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Source : https://leetcode.com/problems/remove-linked-list-elements/
2+
// Author : Hao Chen
3+
// Date : 2015-06-09
4+
5+
/**********************************************************************************
6+
*
7+
* Remove all elements from a linked list of integers that have value val.
8+
*
9+
* Example
10+
* Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
11+
* Return: 1 --> 2 --> 3 --> 4 --> 5
12+
*
13+
* Credits:Special thanks to @mithmatt for adding this problem and creating all test cases.
14+
*
15+
**********************************************************************************/
16+
17+
/**
18+
* Definition for singly-linked list.
19+
* struct ListNode {
20+
* int val;
21+
* ListNode *next;
22+
* ListNode(int x) : val(x), next(NULL) {}
23+
* };
24+
*/
25+
class Solution {
26+
public:
27+
ListNode* removeElements(ListNode* head, int val) {
28+
static ListNode dummy(-1);
29+
dummy.next = head;
30+
ListNode *p = &dummy;
31+
32+
while( p->next) {
33+
if (p->next->val == val) {
34+
p->next = p->next->next;
35+
}else{
36+
p = p->next;
37+
}
38+
}
39+
40+
return dummy.next;
41+
}
42+
};
43+
44+

0 commit comments

Comments
 (0)