@@ -49,14 +49,14 @@ class Solution:
49
49
def oddEvenList (self , head : ListNode) -> ListNode:
50
50
if head is None :
51
51
return head
52
- evenHead = head.next
53
- odd, even = head, evenHead
52
+ odd, even = head, head.next
53
+ even_head = even
54
54
while even and even.next:
55
55
odd.next = even.next
56
56
odd = odd.next
57
57
even.next = odd.next
58
58
even = even.next
59
- odd.next = evenHead
59
+ odd.next = even_head
60
60
return head
61
61
```
62
62
@@ -80,8 +80,8 @@ class Solution {
80
80
if (head == null ) {
81
81
return head;
82
82
}
83
- ListNode evenHead = head. next;
84
- ListNode odd = head, even = evenHead ;
83
+ ListNode odd = head, even = head. next;
84
+ ListNode evenHead = even;
85
85
while (even != null && even. next != null ) {
86
86
odd. next = even. next;
87
87
odd = odd. next;
@@ -94,6 +94,66 @@ class Solution {
94
94
}
95
95
```
96
96
97
+ ### ** C++**
98
+
99
+ ``` cpp
100
+ /* *
101
+ * Definition for singly-linked list.
102
+ * struct ListNode {
103
+ * int val;
104
+ * ListNode *next;
105
+ * ListNode() : val(0), next(nullptr) {}
106
+ * ListNode(int x) : val(x), next(nullptr) {}
107
+ * ListNode(int x, ListNode *next) : val(x), next(next) {}
108
+ * };
109
+ */
110
+ class Solution {
111
+ public:
112
+ ListNode* oddEvenList(ListNode* head) {
113
+ if (!head) {
114
+ return head;
115
+ }
116
+ ListNode * odd = head, * even = head->next;
117
+ ListNode * evenHead = even;
118
+ while (even && even->next) {
119
+ odd->next = even->next;
120
+ odd = odd->next;
121
+ even->next = odd->next;
122
+ even = even->next;
123
+ }
124
+ odd->next = evenHead;
125
+ return head;
126
+ }
127
+ };
128
+ ```
129
+
130
+ ### **Go**
131
+
132
+ ```go
133
+ /**
134
+ * Definition for singly-linked list.
135
+ * type ListNode struct {
136
+ * Val int
137
+ * Next *ListNode
138
+ * }
139
+ */
140
+ func oddEvenList(head *ListNode) *ListNode {
141
+ if head == nil {
142
+ return head
143
+ }
144
+ odd, even := head, head.Next
145
+ evenHead := even
146
+ for even != nil && even.Next != nil {
147
+ odd.Next = even.Next
148
+ odd = odd.Next
149
+ even.Next = odd.Next
150
+ even = even.Next
151
+ }
152
+ odd.Next = evenHead
153
+ return head
154
+ }
155
+ ```
156
+
97
157
### ** ...**
98
158
99
159
```
0 commit comments