LeetCode328. 奇偶链表
1. 问题描述

2. 思路
双指针
- odd指向奇数位,even指向偶数位
- head指向奇数位的头部,evenHead指向偶数位的头部
- 将奇数链表和偶数链表连接起来
3. 代码
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func oddEvenList(head *ListNode) *ListNode {
if head == nil {
return head
}
evenHead := head.Next
odd, even := head, evenHead
for even != nil && even.Next != nil {
odd.Next = even.Next
odd = odd.Next
even.Next = odd.Next
even = even.Next
}
odd.Next = evenHead
return head
}
本文详细介绍了LeetCode328题“奇偶链表”的解决方案,采用双指针法,通过odd和even两个指针分别指向奇数位和偶数位节点,最终将奇数链表和偶数链表连接起来。
539

被折叠的 条评论
为什么被折叠?



