【LeetCode每日一题】[中等]328. 奇偶链表
328. 奇偶链表
算法思想:链表
题目:
思路: 思路link
分离奇数偶数链表,然后合并奇偶链表
java代码
class Solution {
public ListNode oddEvenList(ListNode head) {
if (head == null) {
//如果是空,直接返回
return head;
}
ListNode evenHead = head.next;//偶数节点头结点
ListNode odd = head;//指向奇数节点
ListNode even = head.next;//指向偶数节点
while (even != null && even.next != null) {
//最后两个节点不是空
odd.next = even.next;//进行迭代,奇数向后移动,
odd = even.next;
even.next = odd.next;//偶数节点向后移动
even = even.next;
}
odd.next = evenHead;//奇数节点末尾指向偶数节点头结点
return head;//返回
}
}