C++程序 寻找链表长度
编写一个函数来计算给定单链表中的节点数。
例如,该函数应该为连接列表1->3->1->2->1返回5。
迭代解决方案:
1)将计数初始化为0
2)将节点指针current =head初始化。
3)只要当前不为NULL,就执行以下操作
a)当前= current -> next
b) count ++;
4)返回计数
以下是实现上述算法以查找给定单链表中节点计数的迭代实现。
输出:
时间复杂度: O(n),其中n表示给定链表的长度。
辅助空间: O(1),不需要额外的空间,因此它是常数。
递归解决方案:
int getCount(head)
1)如果头为NULL,则返回0。
2)否则返回1 + getCount(head->next)
以下是实现上述算法以查找给定单链表中节点计数的递归实现。
输出:
时间复杂度: O(n),其中n表示单链表的长度。
空间复杂度: O(n),其中n表示单链表的长度。