Delete Alternate Nodes
JavaView on GFG
Time: O(n)
Space: O(1)
Advertisement
Intuition
Delete every alternate node in linked list (keep first, delete second, keep third, etc.).
Algorithm
- 1Traverse: curr = head. While curr and curr.next: curr.next = curr.next.next. curr = curr.next.
Common Pitfalls
- •Simple pointer manipulation. Ensure the "next" link skips the deleted node cleanly.
Delete Alternate Nodes.java
Java
// Approach: Traverse the list and skip every other node by updating next pointers.
// Time: O(n) Space: O(1)
class Solution {
public void deleteAlt(Node head) {
Node prev = null;
Node temp = head;
int cnt = 0;
while (temp != null) {
cnt++;
if (cnt % 2 == 0) {
prev.next = temp.next;
}
prev = temp;
temp = temp.next;
}
}
}
class Node {
int data;
Node next;
public Node(int data) {
this.data = data;
}
}Advertisement
Was this solution helpful?