描述
计算链表中有多少个节点
样例
样例 1:
输入: 1->3->5->null
输出: 3
样例 2:
输入: null
输出: 0
思路
遍历整个单链表的同时,计数。
lintcode上是不带头结点,count初始为0,每遍历一个结点,count加1;
若采用带头结点的,count初试仍为0,从首结点开始遍历,count加1;
时间复杂度都为o(n);
代码
/**
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
/**
* 没有带头结点
*/
public int countNodes(ListNode head) {
int count = 0;
while(head != null) {
count++ ;
head = head.next;
}
return count;
}
}