# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param head ListNode类
# @return ListNode类
#
class Solution:
def oddEvenList(self , head: ListNode) -> ListNode:
# write code here
# 将奇数 偶数为的存入两个list中 再拼接出新的链表
if not head or not head.next:
return head
a_list=[]
b_list=[]
#print("aaaaaa")
cur=head
count =1
while cur:
if count%2==0:
b_list.append(cur.val)
else:
a_list.append(cur.val)
count+=1
cur=cur.next
print("-------",a_list,b_list)
newhead=ListNode(0)
cur=newhead
for i in range(len(a_list)):
cur.next=ListNode(a_list[i])
cur=cur.next
for i in range(len(b_list)):
cur.next=ListNode(b_list[i])
cur=cur.next
return newhead.next