package LeetCode_LinkedList; /** * 题目: * 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. * You should try to do it in place. The program should run in O(1) space complexity and O(nodes) time complexity. * 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 */ public class OddEvenList_328_1015 { public ListNode OddEvenList(ListNode head) { if (head == null || head.next == null) { return head; } ListNode odd = head; ListNode even = head.next; ListNode evenHead = even; while (even != null && even.next != null) { odd.next = even.next; odd = odd.next; even.next = odd.next; even = even.next; } odd.next = evenHead; return head; } public static void main(String[] args) { ListNode node1 = new ListNode(1); ListNode node2 = new ListNode(2); ListNode node3 = new ListNode(3); ListNode node4 = new ListNode(4); ListNode node5 = new ListNode(5); node1.next = node2; node2.next = node3; node3.next = node4; node4.next = node5; OddEvenList_328_1015 test = new OddEvenList_328_1015(); ListNode result = test.OddEvenList(node1); while (result != null) { System.out.print(result.val + " "); result = result.next; } } }
leetcode:(328) Odd Even Linked List (java)
最新推荐文章于 2022-07-27 17:35:01 发布