奇偶鏈表

奇偶鏈表

給定一個單鏈表,把所有的奇數(shù)節(jié)點和偶數(shù)節(jié)點分別排在一起。請注意,這里的奇數(shù)節(jié)點和偶數(shù)節(jié)點指的是節(jié)點編號的奇偶性,而不是節(jié)點的值的奇偶性。
請嘗試使用原地算法完成。你的算法的空間復(fù)雜度應(yīng)為 O(1),時間復(fù)雜度應(yīng)為 O(nodes),nodes 為節(jié)點總數(shù)。

說明:

  • 應(yīng)當(dāng)保持奇數(shù)節(jié)點和偶數(shù)節(jié)點的相對順序。
  • 鏈表的第一個節(jié)點視為奇數(shù)節(jié)點,第二個節(jié)點視為偶數(shù)節(jié)點,以此類推。
輸入: 1->2->3->4->5->NULL
輸出: 1->3->5->2->4->NULL

輸入: 2->1->3->5->6->4->7->NULL 
輸出: 2->3->6->7->1->5->4->NULL

我們可以使用兩個指針來做:

  1. odd指向奇節(jié)點,even指向偶節(jié)點
  2. 讓奇節(jié)點的next指向偶節(jié)點的next,同時奇節(jié)點往后平移,同理,讓偶節(jié)點的next指向奇節(jié)點的next,同時偶節(jié)點向后平移
  3. 重復(fù)以上操作,直至到達鏈表尾部,最后讓奇節(jié)點的next指向第一個偶節(jié)點即可
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def oddEvenList(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        if head is None or head.next is None:
            return head
        odd = head
        even = head.next
        evenhead = even
        while even and even.next:
            odd.next = even.next
            odd = odd.next
            even.next = odd.next
            even = even.next
        odd.next = evenhead
        return head
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 鏈表 @[鏈表|雙指針] 鏈表問題相對容易掌握。 不要忘記"雙指針解法",它不僅適用于數(shù)組問題,而且還適用于鏈表問...
    萬浩2020閱讀 379評論 0 1
  • 328. 奇偶鏈表(Odd Even Linked List) 簡述 給定一個單鏈表,把所有的奇數(shù)節(jié)點和偶數(shù)節(jié)點分...
    GoMomi閱讀 187評論 0 0
  • 對抗惰性,從今天做起。堅持每天刷leetcode并附帶一個題的題目,思路,代碼。感興趣的小伙伴一起堅持來吧(c代碼...
    北極星光熊閱讀 964評論 7 4
  • 給定一個單鏈表,把所有的奇數(shù)節(jié)點和偶數(shù)節(jié)點分別排在一起。請注意,這里的奇數(shù)節(jié)點和偶數(shù)節(jié)點指的是節(jié)點編號的奇偶性,而...
    vbuer閱讀 255評論 0 0
  • 給定一個單鏈表,把所有的奇數(shù)節(jié)點和偶數(shù)節(jié)點分別排在一起。請注意,這里的奇數(shù)節(jié)點和偶數(shù)節(jié)點指的是節(jié)點編號的奇偶性,而...
    1f872d1e3817閱讀 362評論 0 0

友情鏈接更多精彩內(nèi)容