zoukankan      html  css  js  c++  java
  • 力扣——Partition List(分隔链表) python实现

    题目描述:

    中文:

    给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。

    你应当保留两个分区中每个节点的初始相对位置。

    示例:

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

    英文:

    Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.

    You should preserve the original relative order of the nodes in each of the two partitions.

    Example:

    Input: head = 1->4->3->2->5->2, x = 3
    Output: 1->2->2->4->3->5

    # Definition for singly-linked list.
    # class ListNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution(object):
        def partition(self, head, x):
            """
            :type head: ListNode
            :type x: int
            :rtype: ListNode
            """
            head1 = ListNode(0)
            head2 = ListNode(0)
            Tmp = head
            phead1 = head1
            phead2 = head2
            while Tmp:
                if Tmp.val < x:
                    phead1.next = Tmp
                    Tmp = Tmp.next
                    phead1 = phead1.next
                    phead1.next = None
                else:
                    phead2.next = Tmp
                    Tmp = Tmp.next
                    phead2 = phead2.next
                    phead2.next = None
            phead1.next = head2.next
            head = head1.next
            return head

    来源来源:力扣

  • 相关阅读:
    会场安排
    Comet OJ
    CodeForces1154F
    CodeForces1154E
    2019.08.25校内模拟赛Graph
    2019.08.25校内模拟赛Page
    [MtOI2019]灵梦的计算器
    [MtOI2019]永夜的报应
    [NOI2018]归程
    USACO[CowCoupons]
  • 原文地址:https://www.cnblogs.com/spp666/p/11637739.html
Copyright © 2011-2022 走看看