链表分割如何改写为长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计601个文字,预计阅读时间需要3分钟。
编写代码,将链表分割为两部分,其中包含所有大于或等于x的节点在前,小于x的节点在后。思路如下:
牛客链接 + 简单思路 + 因为首部插入必然改变顺序,所以使用尾插 + 将大于x的节点插入到一个新的链表,从大于x的尾节点开始到大于等于x的尾节点,然后将小于x的链表链接到这个链表之后。
pythonclass ListNode: def __init__(self, val=0, next=None): self.val=val self.next=next
def partition(head, x): dummy1=ListNode(0) dummy2=ListNode(0) prev1=dummy1 prev2=dummy2 cur=head
while cur: if cur.val >=x: prev1.next=cur prev1=cur else: prev2.next=cur prev2=cur cur=cur.next
prev2.next=None prev1.next=dummy2.next
return dummy1.next
编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 。
本文共计601个文字,预计阅读时间需要3分钟。
编写代码,将链表分割为两部分,其中包含所有大于或等于x的节点在前,小于x的节点在后。思路如下:
牛客链接 + 简单思路 + 因为首部插入必然改变顺序,所以使用尾插 + 将大于x的节点插入到一个新的链表,从大于x的尾节点开始到大于等于x的尾节点,然后将小于x的链表链接到这个链表之后。
pythonclass ListNode: def __init__(self, val=0, next=None): self.val=val self.next=next
def partition(head, x): dummy1=ListNode(0) dummy2=ListNode(0) prev1=dummy1 prev2=dummy2 cur=head
while cur: if cur.val >=x: prev1.next=cur prev1=cur else: prev2.next=cur prev2=cur cur=cur.next
prev2.next=None prev1.next=dummy2.next
return dummy1.next
编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 。

