码迷,mamicode.com
首页 > 其他好文 > 详细

【Leetcode 86】 Partition List

时间:2016-06-08 21:49:22      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:

  给定一个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,解决了个小问题。加油吧~~

【Leetcode 86】 Partition List

标签:

原文地址:http://www.cnblogs.com/luntai/p/5571321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!