Delete Alternate Nodes
JavaView on GFG
Time: O(n)
Space: O(1)
Problem Overview
Delete every alternate node in linked list (keep first, delete second, keep third, etc.).
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?