反转链表 - 206 - leetcode

代码随想录算法训练营 | 第三天 | 博客打卡
题目链接:leetcode 206. 反转链表
注:仅为个人笔记,难以细致且通俗。

在这里插入图片描述

func reverseList(head *ListNode) *ListNode {
    var pre *ListNode
    cur := head
    for cur != nil {
        next := cur.Next
        cur.Next = pre
        pre = cur
        cur = next
    }
    return pre
}

比较简单不多说了,不过中途碰到个小问题。var pre *ListNodepre := &ListNode{} 的区别没搞清楚。

  1. var pre *ListNode: 用 var 关键字声明时,pre 被初始化为该类型的零值,对于指针类型来说,零值是 nil。这意味着 pre 不指向任何有效的内存地址。
  2. pre := &ListNode{}: 这行代码使用短变量声明语法(:=)声明了一个名为 pre 的变量,并立即将其初始化为一个新的 ListNode 结构体的地址。&ListNode{} 创建了一个 ListNode 类型的实例,并返回其内存地址。因此,pre 指向一个有效的 ListNode 结构体实例,该实例的各个字段将被赋予它们的零值(例如,对于整数字段,零值是 0)。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值