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

    来源来源:力扣

  • 相关阅读:
    kubernetes部署1.15.0版本
    搭建时间服务器
    创建mysql容器
    制作带sshd功能的centos镜像
    容器操作
    镜像制作
    elk日志系统
    k8s基于canel的网络策略
    k8s的flannel网络插件配置
    k8s搭建WebUI--Dashborad管理界面
  • 原文地址:https://www.cnblogs.com/spp666/p/11637739.html
Copyright © 2011-2022 走看看