请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于链表的最后一个节点的判断

第一章讲过判断一个节点是不是最后一个节点,是判断他指向的是不是一个null. 但是在Node的无参构造里面允许创造一个节点,它的e和next都是null的. 那假如说我先创建一个node1, node1的值和next都是null, 结构现在是null–>null. 接着我创建node2,在node2中的next指向node1. 但是node1的值是null,这会儿的链表结构不就变成了 node2–>null–>null了吗. 那我判断最后一个节点的时候不就出错了吗?

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2018-12-12 05:23:27

没有特别理解,你怎么做到创建一个node1,node1还是null?


null本身就是空,null里不会有next,Node里才有可能有next,怎么形成null->null?


用代码把你的逻辑表达出来试试看?:)


加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 慕雪8062931 #1
    噢我好像明白了. 虽然我可以生成一个类似于虚拟头结点的e和next两个值都是null的节点, 但是哪怕两个值都是null,这个节点本身并不是null. 节点是非空的,只是节点的两个属性是null. 所以我把很多个虚拟节点连在一起,里面所有的值都是null,我去判断是不是最后一个节点的时候仍然可以正确的判断. 这么理解对么?
    回复 有任何疑惑可以回复我~ 2018-12-12 19:31:24
  • liuyubobobo 回复 提问者 慕雪8062931 #2
    对!node是null和node->e是null是两回事儿:)
    回复 有任何疑惑可以回复我~ 2018-12-13 02:22:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信