File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed
Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change 1+ """
2+ Definition of ListNode
3+ class ListNode(object):
4+ def __init__(self, val, next=None):
5+ self.val = val
6+ self.next = next
7+ """
8+
9+ class Solution :
10+ """
11+ @param head: a singly linked list
12+ @return: Modified linked list
13+ """
14+ def oddEvenList (self , head ):
15+ # write your code here
16+ odd_head , odd_tail = None , None # 奇偶分开再合并
17+ even_head , even_tail = None , None
18+ is_odd = True
19+ while head != None :
20+ node = head
21+ head = node .next
22+ node .next = None
23+ if is_odd :
24+ if odd_head is None :
25+ odd_head = node
26+ odd_tail = node
27+ else :
28+ odd_tail .next = node
29+ odd_tail = node
30+ else :
31+ if even_head is None :
32+ even_head = node
33+ even_tail = node
34+ else :
35+ even_tail .next = node
36+ even_tail = node
37+ is_odd = not is_odd
38+ if odd_head :
39+ odd_tail .next = even_head
40+ return odd_head
41+ else :
42+ return even_head
43+
44+ # medium: https://www.lintcode.com/problem/odd-even-linked-list
You can’t perform that action at this time.
0 commit comments