题解 | #链表的奇偶重排#

链表的奇偶重排

https://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3

一种简单思路

package main
 
import . "nc_tools"
/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */
 
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param head ListNode类
 * @return ListNode类
*/
func oddEvenList(head *ListNode) *ListNode {
    if head == nil {
        return nil
    }
    odd := &ListNode{}
    even := &ListNode{}
    tmp := even
    ans := odd
    n := 1
    for head != nil {
        if n%2 == 1 {
            odd.Next = &ListNode{Val: head.Val}
            odd = odd.Next
        } else {
            even.Next = &ListNode{Val: head.Val}
            even = even.Next
        }
        head = head.Next
        n++
    }
    odd.Next = tmp.Next
    return ans.Next
}

全部评论

相关推荐

神哥了不得:(非引流)先把你的个人信息打码一下吧,看了几万份的简历,让我不知道该怎么说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务