二叉树递归遍历应用
来源:互联网 发布:linux mv命令 文件夹 编辑:程序博客网 时间:2024/06/05 11:18
递归的思想是循环做相似的事件,二叉树有左右子树,对于统计而言,可以递归地对左右子树进行操作。递归有时很难想,在这里提供一条思路来想,判断它是否可以进行递归操作,然后考虑没有结点时的返回值,只有一个结点时的返回值,然后再推广。
例1:求二叉树的高度
如果为空,则返回0,如果只有一个结点,则返回1,剩下的就是左子树的高度与右子树的高度的最大值加1。
public int heightNode(Node root) {
int left, right;
if (root == null)
return 0;
else if (root.left == null && root.right == null)
return 1;
else {
left = heightNode(root.left);
right = heightNode(root.right);
return (left > right) ? (left + 1) : (right + 1);
}
}
例2:求二叉树中叶子结点的个数
如果为空,则返回1,如果只有一个结点则返回1,剩下的就是左子树的叶子结点加右子树的叶子结点个数。
public int count(Node root){
if(root==null)
return 0;
else if(root.left==null && root.right==null)
return 1;
else
return count(root.left)+count(root.right);
}
- 二叉树递归遍历应用
- 二叉树遍历的应用(递归!递归!递归!)
- 二叉树遍历(递归和非递归)及应用
- 二叉树递归遍历
- 二叉树遍历(递归)
- 二叉树递归遍历
- 递归遍历二叉树
- 递归二叉树遍历
- 二叉树递归遍历
- 递归遍历二叉树
- 二叉树递归遍历
- 实验六 二叉树的递归遍历及其应用
- 二叉树前中后序遍历非递归及应用
- 二叉树的中序遍历、递归实现、非递归实现、层次遍历、二叉树的应用,来来来,都有都有
- 二叉树的递归遍历
- 非递归遍历二叉树
- 二叉树遍历非递归
- 后序非递归遍历二叉树
- 加班与效率
- unity 协同,调用——MonoBehaviour类Invoke, Coroutine
- 实现美观的TabHost
- WebDriver中close()与quit()的不同
- poj 1470 LCA基础题
- 二叉树递归遍历应用
- ios项目开发笔记
- LAMP(Linux+Apache+Mysql+PHP)优化技巧
- 开通此博,用于记录与分享
- 64位centos安装bugfree的方法
- extjs利用第三方打印插件实现打印功能
- hdu(1128)
- 如何在sping3.1 MVC中应用aspect注解之AOP
- SQL标准语句——思维导图