問題
我們必須保持索引 i 追蹤節點值,如果 i 是奇數,則將它們放入不同的奇數中,否則將它們放入偶數列表中。
最後將奇數列表的最後一個節點連接到偶數列表的頭部
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode oddEvenList(ListNode head) { ListNode odd = new ListNode(0); ListNode even = new ListNode(0); ListNode pointerOfOdd = odd; ListNode pointerOfEven = even; int i =1; while(head!=null){ if(i%2!=0){ odd.next = new ListNode(head.val); odd = odd.next; } else{ even.next = new ListNode(head.val); even = even.next; } i++; head = head.next; } odd.next = pointerOfEven.next; return pointerOfOdd.next; } }
以上是奇偶鍊錶的詳細內容。更多資訊請關注PHP中文網其他相關文章!