题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

package main
import . "nc_tools"
/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 
 * @param pHead ListNode类 
 * @return ListNode类
*/
func ReverseList( pHead *ListNode ) *ListNode {
    // write code here
    if pHead == nil {
        return nil
    }

    var resp *ListNode
    var i = 0
    for pHead != nil && i<=1000 {
        var temp = pHead.Next
        pHead.Next = resp
        resp = pHead
        pHead = temp
        i++
    }

   return resp
}

题目剖析:

一次调用:

原链表: 1 -> 2 -> 3

新建链表 1 -> nil

二次调用:

原链表: 2-> 3

新链表: 2 -> 1

但是需要注意新链表的初始化方式要是*ListNode,否则将会变成末尾是0

#反转链表go#
全部评论

相关推荐

自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务