采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
第一章讲过判断一个节点是不是最后一个节点,是判断他指向的是不是一个null. 但是在Node的无参构造里面允许创造一个节点,它的e和next都是null的. 那假如说我先创建一个node1, node1的值和next都是null, 结构现在是null–>null. 接着我创建node2,在node2中的next指向node1. 但是node1的值是null,这会儿的链表结构不就变成了 node2–>null–>null了吗. 那我判断最后一个节点的时候不就出错了吗?
没有特别理解,你怎么做到创建一个node1,node1还是null?
null本身就是空,null里不会有next,Node里才有可能有next,怎么形成null->null?
用代码把你的逻辑表达出来试试看?:)
加油!:)
噢我好像明白了. 虽然我可以生成一个类似于虚拟头结点的e和next两个值都是null的节点, 但是哪怕两个值都是null,这个节点本身并不是null. 节点是非空的,只是节点的两个属性是null. 所以我把很多个虚拟节点连在一起,里面所有的值都是null,我去判断是不是最后一个节点的时候仍然可以正确的判断. 这么理解对么?
对!node是null和node->e是null是两回事儿:)
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.4k 16
1.4k 17
1.3k 14