diff --git a/Linked Lists/RemoveLLElements.cpp b/Linked Lists/RemoveLLElements.cpp new file mode 100644 index 0000000..6a1e00d --- /dev/null +++ b/Linked Lists/RemoveLLElements.cpp @@ -0,0 +1,24 @@ +class Solution { +public: + ListNode* removeElements(ListNode* head, int val) { + if(head==NULL) + return head; + while(head!=NULL && head->val==val){ + head=head->next; + } + + ListNode*prev=NULL; + ListNode*curr=head; + while(curr!=NULL){ + if(curr->val==val){ + prev->next=curr->next; + curr=curr->next; + } + else{ + prev=curr; + curr=curr->next; + } + } + return head; + } +};