一样,链表题需要投机取巧,使用数组加快运算。
第一遍遍历链表分拣出奇偶结点的值,然后第二遍遍历把重新排序好的值送回去就行。
用例通过率: 100.00% 运行时间: 963ms 占用内存: 40996KB。
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# @param head ListNode类
# @return ListNode类
#
class Solution:
def oddEvenList(self, head):
# write code here
ori = head
odd = []
even = []
res = []
flag = True
while head:
if flag:
odd.append(head.val)
else:
even.append(head.val)
flag = not flag
head = head.next
odd += even
head = ori
for i in odd:
head.val = i
head = head.next
return ori



京公网安备 11010502036488号