File tree Expand file tree Collapse file tree 3 files changed +58
-0
lines changed
Expand file tree Collapse file tree 3 files changed +58
-0
lines changed Original file line number Diff line number Diff line change 1+ class Node ():
2+
3+ def __init__ (self , val ):
4+ self .val = val
5+ self .next = None
6+
7+ def delete_last_occurrence (head , val ):
8+ if not head :
9+ return None
10+
11+ curr = head
12+ prev = None
13+ final_prev = None
14+ final_occ = None
15+
16+ while curr != None :
17+ if curr .val == val :
18+ final_prev = prev
19+ final_occ = curr
20+
21+ prev = curr
22+ curr = curr .next
23+
24+
25+ if final_occ :
26+ # special case that checks for a 1 node list that equals the val
27+ if final_prev :
28+ final_prev .next = final_occ .next
29+ else :
30+ head = None
31+
32+ return head
Original file line number Diff line number Diff line change 99* [ Odd-Even Arrangement] ( odd_even_arrangement.py )
1010* [ Merge Linked List] ( merge_linked_list.py )
1111* [ Remove Duplicates] ( remove_duplicates.py )
12+ * [ Delete Last Occurrence] ( delete_last_occurrence.py )
Original file line number Diff line number Diff line change 1+ class Stack ():
2+ """
3+ Stack follows Last-In-First-Out methodology
4+ """
5+
6+ def __init__ (self ):
7+ self .entries = []
8+
9+ def size (self ):
10+ return len (self .entries )
11+
12+ def push (self , val ):
13+ self .entries .append (val )
14+
15+ def pop (self ):
16+ if self .size () > 0 :
17+ self .entries .pop (self .size () - 1 )
18+
19+
20+
21+
22+
23+
24+
25+
You can’t perform that action at this time.
0 commit comments