MockerOvO 2022-03-22 14:08 采纳率: 89.9%
浏览 14
已结题

可以解释一下为什么第二个空是q吗

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

img

  • 写回答

1条回答 默认 最新

  • 於黾 2022-03-22 14:16
    关注

    p和q是两个指针
    最初它们都指向head(其实p指向哪里无所谓)
    代码运行起来之后,
    每次把p指向一个新的节点(重新分配内存),然后把q的下一项指向p,再把p的下一项指向空
    此时必须把q重新指向p
    否则你继续添加下一项的时候,q还指向的是head,并没有变成下一个节点的地址,那么你新节点就不是挂在刚才新增的节点后面,而是依然挂在head后面,把之前的覆盖掉了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 创建了问题 3月22日

悬赏问题

  • ¥15 机器学习预测遇到的目标函数问题
  • ¥15 python的EOFError该怎么解决?
  • ¥15 Fluent,液体进入旋转区域体积分数不连续
  • ¥15 java linux下将docx文件转pdf
  • ¥15 maven无法下载依赖包
  • ¥15 关于pycharm, Callable[[str],bool]作为方法参数使用时, lambda 类型不提示问题
  • ¥15 layui数据重载无效
  • ¥15 寻找了解qq家园纵横四海的程序猿。
  • ¥15 optisystem
  • ¥15 VB.NET画图时的撤销编程