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

链表的奇偶重排

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


func oddEvenList( head *ListNode ) *ListNode {
    // write code here
    if head == nil || head.Next == nil {
        return head 
    }
    
    odd := head
    oddHead := head 
    even := head.Next
    evenHead := head.Next 
    
    tmp := head.Next.Next
    flag := false 
    
    for tmp != nil {
        if !flag {
            odd.Next = tmp
            odd = odd.Next
        } else {
            even.Next = tmp
            even = even.Next
        }
        tmp = tmp.Next
        flag = !flag 
    }
    
    odd.Next = evenHead 
    even.Next = nil 
    
    return oddHead 
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务