Replace Node - codepath/compsci_guides GitHub Wiki
Unit 5 Session 2 (Click for link to problem statements)
U-nderstand
Understand what the interviewer is asking for by using test cases and questions about the problem.
- What happens if the
original
value is not found in any node?- The function will traverse the entire list without making any changes, leaving the linked list unchanged.
P-lan
Plan the solution with appropriate visualizations and pseudocode.
General Idea: Traverse the linked list from the head, checking each node's value and replacing it if it matches the original
value.
1) Start at the `head` of the linked list.
2) Traverse through the list using a loop, checking each node's value.
3) If a node's value matches `original`, update it to `replacement`.
4) Continue until all nodes have been checked (i.e., until the end of the list).
⚠️ Common Mistakes
- Failing to handle cases where the list is empty (i.e.,
head
isNone
). - Not correctly updating the node value or missing nodes due to incorrect loop conditions.
I-mplement
def ll_replace(head, original, replacement):
current = head
while current:
if current.value == original:
current.value = replacement
current = current.next