首先,求鏈表的長度需要遍歷,下面為遍歷的代碼:
//求鏈表的長度
private int length(ListNode head) {
int len = 0;
while (head != null) {
len++;
head = head.next;
}
return len;
}
head 是頭指針:
1.頭指針是指鏈表指向第一個結點的指針
2.若鏈表有頭結點,則是指向頭結點的指針
3.頭指針具有標識作用,用頭指針冠以鏈表的名字
4.無論鏈表是否為空,頭指針均存在
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