题目描述
题解
创建两个链表 一个保存原始链表中值小于x的节点 一个保存原始链表中值大于等于x的节点 然后把后一个链表接在前一个链表之后。
1.创建两个链表smallerhead greaterhead 一个保存原始链表中值比x小的节点 一个保存原始链表中值大于或等于x 的节点。
2.smaller smallerhead greater greaterhead。
3.对原始链表中每个节点进行判断 如果当前head.val x 则smaller.next head 同时smaller后移 否则greater.next head greater后移一个节点。
4.对原始链表每个节点判断完成后 将greater.next设为None 把greaterhead链表接在samller之后。
5.返回smallerhead.next。
class Solution(object): def partition(self, head, x): smallerhead smaller ListNode() greaterhead greater ListNode() while head: if head.val x: smaller.next head smaller smaller.next else: greater.next head greater greater.next head head.next greater.next None smaller.next greaterhead.next return smallerhead.next



