LeetCode——86.分隔链表

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

class Solution:
    def partition(self, head: ListNode, x: int) -> ListNode:
        dummmy1 = ListNode(0)
        dummmy2 = ListNode(0)
        small = dummmy1
        large = dummmy2
        
        while head:
            if head.val<x:
                small.next = head
                small = small.next
            else:
                large.next = head
                large = large.next
            
            head = head.next
        large.next = None
        small.next = dummmy2.next

        return dummmy1.next

        
        
            
  • 利用两个链表分别取存储小于x和大于x的节点
  • 然后将大于x那个链表,链接在较小链表的后边
  • 然后返回新的链表,也就是分隔之后的链表

猜你喜欢

转载自blog.csdn.net/weixin_37724529/article/details/112177707