class Solution(object):
def partition(self, head, x):
"""
:type head: ListNode
:type x: int
:rtype: ListNode
"""
newhead=None
leftNode=None
rightHead=None
rightNode=None
node = head
while node:
if node.val<x:
if not newhead:
newhead=ListNode(node.val)
leftNode=newhead
else:
leftNode.next=ListNode(node.val)
leftNode=leftNode.next
else:
if not rightHead:
rightHead=ListNode(node.val)
rightNode = rightHead
else:
rightNode.next=ListNode(node.val)
rightNode=rightNode.next
node=node.next
if leftNode:
leftNode.next=rightHead
else:
newhead=rightHead
return newhead