Odd Even Linked List Java Program - The Coding Shala
Home >> Interview Questions >> Odd-even linked list
Odd-Even Linked List Java Program
Problem: Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.
Example 1:
Input: 1->2->3->4->5->NULL
Output: 1->3->5->2->4->NULL
Example 2:
Input: 2->1->3->5->6->4->7->NULL
Output: 2->3->6->7->1->5->4->NULL
Odd Even Linked List Java Program
Approach:
Make two lists odd and even. Point odd end to even list head.
Java Code
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode oddEvenList(ListNode head) { if(head == null) return null; if(head.next == null) return head; ListNode odd = head; ListNode even = head.next; ListNode evenHead = even; while(even != null && even.next != null){ odd.next = odd.next.next; odd = odd.next; even.next = even.next.next; even = even.next; } odd.next = evenHead; return head; } }
Other Posts You May Like
Comments
Post a Comment