91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

leetcode如何分隔鏈表

發布時間:2021-12-15 14:43:18 來源:億速云 閱讀:131 作者:iii 欄目:大數據

本篇內容主要講解“leetcode如何分隔鏈表”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“leetcode如何分隔鏈表”吧!

一、題目內容

給你一個鏈表和一個特定值 x ,請你對鏈表進行分隔,使得所有小于 x 的節點都出現在大于或等于 x 的節點之前。

你應當保留兩個分區中每個節點的初始相對位置。

示例:

輸入:head = 1->4->3->2->5->2, x = 3
輸出:1->2->2->4->3->5

二、解題思路

創建兩個鏈表,一個存放小于x的,一個存放大于x的,順序不動,最后將兩個鏈表進行拼接即可。

三、代碼

# Definition for singly-linked list.
class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None

    def __repr__(self):
        return str(self.val)

class Solution:
    def partition(self, head: ListNode, x: int) -> ListNode:
        if not head:
            return head
        head1 = ListNode(0)
        head2 = ListNode(0)
        cur1 = head1
        cur2 = head2
        while head:
            if head.val < x:
                cur1.next = head
                head = head.next
                cur1 = cur1.next
                cur1.next = None
            else:
                cur2.next = head
                head = head.next
                cur2 = cur2.next
                cur2.next = None
        cur1.next = head2.next
        return head1.next


if __name__ == '__main__':
    s = Solution()
    head_list = [1, 4, 3, 2, 5, 2]
    head = ListNode(head_list[0])
    cur = head
    for i in range(1, len(head_list)):
        cur.next = ListNode(head_list[i])
        cur = cur.next
    x = 3
    ans = s.partition(head, x)
    print(ans)

到此,相信大家對“leetcode如何分隔鏈表”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

独山县| 旺苍县| 丰顺县| 微山县| 罗江县| 宁蒗| 江达县| 日喀则市| 安仁县| 奉化市| 永清县| 鲁甸县| 奉节县| 图们市| 即墨市| 辽宁省| 剑河县| 庆元县| 望城县| 乐东| 辽源市| 乐至县| 潜山县| 秭归县| 伊吾县| 城步| 大名县| 桓台县| 枣阳市| 长泰县| 金乡县| 寻甸| 丹棱县| 始兴县| 修水县| 清流县| 宝清县| 南投市| 荥经县| 太仆寺旗| 合阳县|