双链表判断是否为空的问题

103行,判断了链表是否为空,
111行,咋又要判断是否是空的?

img

因为你不能对null做其他的操作,所以要先判断是否为null

while里面的temp始终是链表的下一个元素,比如说当前元素时1,那么temp就是2,2后面没有了,temp就是null了,所以要判断是不是null

103行的是总判断,如果链表为空就没必要进行下一段程序,可以省略;
111行的判断,是循环内的判断,每循环一次,temp=temp.next,如果temp到了链表的最后一个节点,temp.next就为空,继续进行循环就会保错,需要它来判断终止循环。