【Leetcode 86】 Partition List
问题描述:
给定一个list, 将所有小于x的node放到左边,剩下的保持原样。
问题解决:
闲的无聊,用c++和python都做了一遍。
代码如下:
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def partition(self, head, x): """ :type head: ListNode :type x: int :rtype: ListNode """ if(head == None): return head p = head lessList = None largerList = None newHead = None lHead = None while(p): print(p.val) if(p.val < x): if(newHead == None): newHead = p else: lessList.next = p lessList = p else: if(lHead == None): lHead = p else: largerList.next = p largerList = p t = p.next p.next = None p = t if(newHead == None): newHead = lHead else: lessList.next = lHead return newHead
第一个py,解决了个小问题。加油吧~~