美文网首页
面试题 02.04. 分割链表

面试题 02.04. 分割链表

作者: minningl | 来源:发表于2022-01-23 16:24 被阅读0次

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

你不需要 保留 每个分区中各节点的初始相对位置。

示例 1:

输入:head = [1,4,3,2,5,2], x = 3
输出:[1,2,2,4,3,5]
示例 2:

输入:head = [2,1], x = 2
输出:[1,2]

提示:

链表中节点的数目在范围 [0, 200] 内
-100 <= Node.val <= 100
-200 <= x <= 200

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/partition-list-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Python代码:

# 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
        """
        if not head:
            return

        pre = head
        cur = pre


        while cur:
            if cur.val<x:
                temp = pre.val
                pre.val = cur.val
                cur.val = temp
                pre = pre.next
            cur = cur.next

        return head


相关文章

  • 面试题 02.04. 分割链表

    面试题 02.04. 分割链表[https://leetcode-cn.com/problems/partitio...

  • Leetcode-面试题 02.04 分割链表

    面试题 02.04. 分割链表[https://leetcode-cn.com/problems/partitio...

  • 面试题 02.04. 分割链表

    给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或...

  • 剑指offer之(链表和栈)

    题目列表链表面试题06. 从尾到头打印链表面试题18. 删除链表的节点面试题22. 链表中倒数第k个节点面试题24...

  • 《剑指Offer》-Exercise(C语言)

    面试题4:二维数组中的查找 面试题6:从尾到头打印链表 单链表从尾到头打印(用栈或递归) 单链表结构 面试题7:重...

  • 链表分割

    题目来源: 牛客网--程序员面试金典 题目描述 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在...

  • 剑指offer目录

    目录 面试题3 在二维数组中查找 面试题15 链表中倒数第K个数 面试题16 反转链表 面试题44 扑克牌的顺子

  • 剑指offer 34-66题

    面试题34:二叉树中和为某一值的路径 面试题35:复杂链表的复制 面试题36:二叉搜索树与双向链表 面试题37:序...

  • 1.数据结构-链表问题

    链表相关问题 删除节点 链表去重 有环链表 反转链表 链表排序 链表相交 其他问题 面试题 02.03. 删除中间...

  • 链表面试题Java实现【重要】

    链表面试题Java实现【重要】

网友评论

      本文标题:面试题 02.04. 分割链表

      本文链接:https://www.haomeiwen.com/subject/knbmhrtx.html