题目描述:
解题思路:
题意一开始没有搞懂,还以为是要判断链表值的奇偶,但这道题是把奇偶位置的分开,重新组成新的链表,方法就是把奇偶分开,然后再把偶数链表接在奇数后面就可以了。这种链表节点,就是看题解也要理解很久,很容易把自己搞晕,还是不太熟练吧,没有找到做这类题的感觉。先写个官方的题解吧,还有甜姨的秒懂奇偶链表题解还没去看,等国赛比完补吧。
参考代码
public ListNode oddEvenList(ListNode head) {
if (head == null) {
return head;
}
//odd指向奇数节点
//even指向偶数节点
ListNode evenHead = head.next;
ListNode odd = head, even = evenHead;
while (even != null && even.next != null) {
odd.next = even.next;
odd = odd.next;
even.next = odd.next;
even = even.next;
}
odd.next = evenHead;
return head;
}