給定單鏈表的頭節點 head ,將所有索引為奇數的節點和索引為偶數的節點分別組合在一起,然后返回重新排序的列表。
第一個節點的索引被認為是 奇數 , 第二個節點的索引為 偶數 ,以此類推。
請注意,偶數組和奇數組內部的相對順序應該與輸入時保持一致。
作者:力扣 (LeetCode)
鏈接:https://leetcode-cn.com/leetbook/read/linked-list/fe0kj/
來源:力扣(LeetCode)
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
思路是將原鏈表分成兩個鏈,奇數鏈和偶數鏈,然后再將奇數鏈的尾與偶數鏈的頭相連。
class Solution {public ListNode oddEvenList(ListNode head) {if(head==null||head.next==null){return head;}ListNode odd = head;ListNode p = head;ListNode even = head.next;ListNode q = head.next;while(q!=null&&q.next!=null){p.next = q.next;p = p.next;q.next = p.next;q = q.next;}p.next = even;return odd;}
}