s0203
This commit is contained in:
		
							
								
								
									
										17
									
								
								include/s0203_remove_linked_list_elements.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								include/s0203_remove_linked_list_elements.hpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					#ifndef S0203_REMOVE_LINKED_LIST_ELEMENTS_HPP
 | 
				
			||||||
 | 
					#define S0203_REMOVE_LINKED_LIST_ELEMENTS_HPP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct ListNode {
 | 
				
			||||||
 | 
					  int val;
 | 
				
			||||||
 | 
					  ListNode* next;
 | 
				
			||||||
 | 
					  ListNode() : val(0), next(nullptr) {}
 | 
				
			||||||
 | 
					  ListNode(int x) : val(x), next(nullptr) {}
 | 
				
			||||||
 | 
					  ListNode(int x, ListNode* next) : val(x), next(next) {}
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class S0203 {
 | 
				
			||||||
 | 
					 public:
 | 
				
			||||||
 | 
					  ListNode* removeElements(ListNode* head, int val);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										19
									
								
								src/s0203_remove_linked_list_elements.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								src/s0203_remove_linked_list_elements.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					#include "s0203_remove_linked_list_elements.hpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ListNode* S0203::removeElements(ListNode* head, int val) {
 | 
				
			||||||
 | 
					  ListNode dummy = ListNode(0, head);
 | 
				
			||||||
 | 
					  ListNode* ptr = &dummy;
 | 
				
			||||||
 | 
					  while (ptr->next != nullptr) {
 | 
				
			||||||
 | 
					    if (ptr->next->val == val) {
 | 
				
			||||||
 | 
					      if (ptr->next->next == nullptr) {
 | 
				
			||||||
 | 
					        ptr->next = nullptr;
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        ptr->next = ptr->next->next;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      ptr = ptr->next;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  return dummy.next;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user