2021-11-12 Daily-Challenge
Today I have done leetcode's November LeetCoding Challenge with cpp
.
November LeetCoding Challenge 12
Description
Remove Linked List Elements
Given the head
of a linked list and an integer val
, remove all the nodes of the linked list that has Node.val == val
, and return the new head.
Example 1:
Input: head = [1,2,6,3,4,5,6], val = 6
Output: [1,2,3,4,5]
Example 2:
Input: head = [], val = 1
Output: []
Example 3:
Input: head = [7,7,7,7], val = 7
Output: []
Constraints:
- The number of nodes in the list is in the range
[0, 10^4]
. 1 <= Node.val <= 50
0 <= val <= 50
Solution
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
ListNode *newHead = new ListNode();
ListNode *cur = newHead;
while(head) {
if(head->val != val) {
cur->next = head;
cur = cur->next;
}
head = head->next;
}
cur->next = nullptr;
return newHead->next;
}
};
// Accepted
// 66/66 cases passed (20 ms)
// Your runtime beats 84.92 % of cpp submissions
// Your memory usage beats 79.14 % of cpp submissions (15 MB)