您的位置:首页 > 编程语言 > Python开发

leetcode之Partition List

2016-01-09 20:17 531 查看
本题采用的是分离了2类链表,最后合在一起的方法,需要注意的是容易产生环。需要最后处理一下。代码如下:
# 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 not head:
return head
if not head.next:
return head
a = ListNode(1)
b = ListNode(2)
a1 = a
b1 = b
while head:
if head.val < x:
a1.next = head
a1 = a1.next
head = head.next
else:
b1.next = head
b1 = b1.next
head = head.next
if not head:
a1.next = None
b1.next = None
if not a.next:
return b.next
else:
a1.next = b.next
return a.next
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息