class Solution(object):
def reorderList(self, head):
"""
:type head: ListNode
:rtype: None Do not return anything, modify head in-place instead.
"""
res = head
stack = []
if not head or not head.next:
return head
while res:
stack.append(res)
res=res.next
cur = stack.pop(0)
while stack:
cur.next = stack.pop()
cur = cur.next
if stack:
cur.next = stack.pop(0)
cur = cur.next
cur.next = None
return head
class Solution(object):
def threeSum(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
res = []
l = len(nums)
nums.sort()
for i in range(l-2):
if i>0 and nums[i] == nums[i-1]:
continue
j = i+1
k = l-1
while k > j:
if nums[i] +nums[j] +nums[k] > 0:
k -= 1
elif nums[i] +nums[j] +nums[k] < 0:
j += 1
else:
res.append([nums[i],nums[j],nums[k]])
while j < k and nums[j] == nums[j+1]:
j += 1
while j < k and nums[k] == nums[k-1]:
k -= 1
j += 1
k -= 1
return res