From 13d48fe32a5d04f2d07535f3d8ea4e122771a232 Mon Sep 17 00:00:00 2001 From: zaira Date: Thu, 20 Mar 2025 19:47:33 +0500 Subject: [PATCH 1/2] refactor prototype --- .../python-projects/linked-list/main.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 fullstack-cert/python-projects/linked-list/main.py diff --git a/fullstack-cert/python-projects/linked-list/main.py b/fullstack-cert/python-projects/linked-list/main.py new file mode 100644 index 00000000..5f67c0ef --- /dev/null +++ b/fullstack-cert/python-projects/linked-list/main.py @@ -0,0 +1,39 @@ +class LinkedList: + class Node: + def __init__(self, element): + self.element = element + self.next = None + + def __init__(self): + self.length = 0 + self.head = None + + def is_empty(self): + return self.length == 0 + + def add(self, element): + node = self.Node(element) + if self.is_empty(): + self.head = node + else: + current_node = self.head + while current_node.next is not None: + current_node = current_node.next + current_node.next = node + self.length += 1 + + def remove(self, element): + if self.is_empty(): + return + previous_node = None + current_node = self.head + while current_node is not None and current_node.element != element: + previous_node = current_node + current_node = current_node.next + if current_node is None: + return + elif previous_node is not None: + previous_node.next = current_node.next + else: + self.head = current_node.next + self.length -= 1 \ No newline at end of file From f6f48c1386cfa195f060706eb530aaab31124256 Mon Sep 17 00:00:00 2001 From: Zaira <33151350+zairahira@users.noreply.github.com> Date: Tue, 25 Mar 2025 13:30:20 +0500 Subject: [PATCH 2/2] remove redundant condition Co-authored-by: Dario-DC <105294544+Dario-DC@users.noreply.github.com> --- fullstack-cert/python-projects/linked-list/main.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/fullstack-cert/python-projects/linked-list/main.py b/fullstack-cert/python-projects/linked-list/main.py index 5f67c0ef..a29bfd53 100644 --- a/fullstack-cert/python-projects/linked-list/main.py +++ b/fullstack-cert/python-projects/linked-list/main.py @@ -23,8 +23,6 @@ def add(self, element): self.length += 1 def remove(self, element): - if self.is_empty(): - return previous_node = None current_node = self.head while current_node is not None and current_node.element != element: