求二叉树第K层的节点个数
2015-08-29 18:19
267 查看
递归解法:
(1)如果二叉树为空或者K<1,返回0
(2)如果二叉树不为空且K=1,返回1
(3)如果二叉树不为空且K>1,返回左子树中K-1层的节点个数与右子树K-1层节点个数之和
(1)如果二叉树为空或者K<1,返回0
(2)如果二叉树不为空且K=1,返回1
(3)如果二叉树不为空且K>1,返回左子树中K-1层的节点个数与右子树K-1层节点个数之和
int GetNodeNumKthLevel(BinaryTree *pRoot, int k ) { if (pRoot == NULL || k < 1) return 0; if (k == 1) return 1; int numLeft = GetNodeNumKthLevel(pRoot->lchild, k - 1); int numRight = GetNodeNumKthLevel(pRoot->rchild, k - 1); return (numLeft + numRight); }
相关文章推荐
- HDOJ5305 Friends(dfs)
- Java基础知识强化04:判断101~200之间有多少素数
- Python扫描内网存活的主机
- Linux软件包管理{rpm|yum|源码包}2015082901
- jni 详解
- 嵌入式开发总结---应用篇
- C语言中lseek()函数和fseek()函数的使用详解
- 关于weight属性使用的一些细节
- 关于weight属性使用的一些细节
- iOS_APP自定义退出登录按钮
- muduo网络库源码学习————线程池实现
- 关于weight属性使用的一些细节
- 关于weight属性使用的一些细节
- POJ 2449 Remmarguts' Date (A*搜索求K短路)
- Oracle 笔记之视图
- Handler 机制学习之相关类
- 如何选择开发板和保护开发板
- linux alias设置别名永久生效
- jquery 中 live事件委派 与 bind事件绑定
- POJ 2449 Remmarguts' Date (A*搜索求K短路)