题目描述
编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前
给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。
注意:此处用的代码是python2
一开始我是像下面那样写的
class Partition:
def partition(self, pHead, x):
if not pHead or not pHead.next :
return pHead
bigHead = ListNode(0)
big = bigHead
smallHead = ListNode(0)
small = smallHead
while pHead :
if pHead.val > x :
big.next = pHead
big = big.next
else :
small.next = pHead
small = small.next
pHead = pHead.next
big.next = None
small.next = bigHead.next
return smallHead.next
然后报错,然后我改为下面那样