關於鏈表的長度,head == NULL 與 head.next == NULL的區別


首先,求鏈表的長度需要遍歷,下面為遍歷的代碼:

 //求鏈表的長度
    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
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM