首页 > 其他 > 详细

关于链表的长度,head == NULL 与 head.next == NULL的区别

时间:2021-08-09 13:47:11      阅读:19      评论:0      收藏:0      [点我收藏+]

首先,求链表的长度需要遍历,下面为遍历的代码:

 //求链表的长度
    private int length(ListNode head) {
        int len = 0;
        while (head != null) {
            len++;
            head = head.next;
        }
        return len;
    }
 
 head 是头指针:
  1.头指针是指链表指向第一个结点的指针
  2.若链表有头结点,则是指向头结点的指针
  3.头指针具有标识作用,用头指针冠以链表的名字
  4.无论链表是否为空,头指针均存在
 
head == NULL 与 head.next == NULL的区别:
head == NULL意思是头指针是否为空
head.next == NULL意思是头指针的下一个节点是否为空
 
举个例子说明,例如链表有5个节点,[1,2,3,4,5],如果head指向1,则head->next指向2,则:
 
head == NULL  等同于 :1 == null     ,  head.next == NULL 等同于 :2 == null
 
所以上面的函数会返回 :5
 
 
 

关于链表的长度,head == NULL 与 head.next == NULL的区别

原文:https://www.cnblogs.com/huangbf/p/15117754.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!