递归实现二叉树遍历以及求最大深度
来源:互联网 发布:2017天天采集软件 编辑:程序博客网 时间:2024/05/17 21:56
class BinaryTreeNode { BinaryTreeNode left; BinaryTreeNode right; int val; BinaryTreeNode(int val) { this.val = val; }}public class Test{ //求二叉树的深度 static int getDepth(BinaryTreeNode root){ if(root==null){ return 0; } int left=getDepth(root.left); int right=getDepth(root.right); return left>right?left+1:right+1; } static void scanNodes(BinaryTreeNode root){ if(root==null){ return; } System.out.println(root.val); //先序遍历 scanNodes(root.left); //System.out.println(root.val); 中序遍历 scanNodes(root.right); //System.out.println(root.val); 后序遍历 } public static void main(String[] args) { BinaryTreeNode root=new TreeNode(1); BinaryTreeNode left1=new TreeNode(2); BinaryTreeNode left2=new TreeNode(3); BinaryTreeNode right1=new TreeNode(4); BinaryTreeNode right2=new TreeNode(5); //创建一棵树 root.left=left1; left1.right=left2; root.right=right1; right1.right=right2; scanNodes(root); System.out.println("树的深度是:"+getDepth(root)); }}
阅读全文
1 0
- 递归实现二叉树遍历以及求最大深度
- 判断完全二叉树以及求二叉树深度的递归与非递归算法实现
- C++ 实现求二叉树的深度及遍历(递归与非递归算法)
- 二叉树的遍历与求深度的递归与非递归实现
- 二叉树的遍历,递归和非递归,求深度
- 【leetcode Java】二叉树的递归遍历以及最大深度的求解(Java)
- java二叉树实现、遍历、求深度
- 二叉树遍历方式和实现,以及二叉树查找、统计个数、比较、求深度
- 二叉树遍历及查找、统计个数、比较、求深度的递归实现
- 剑指offer之求二叉树的深度(非递归的层次遍历)Java实现
- 二叉树的非递归遍历&求深度
- 二叉树创建,遍历,求深度详解(递归方法)
- 链式二叉树的前序创建、递归前序遍历、非递归堆栈前序遍历、前序销毁以及求二叉树的深度
- 求二叉树深度 -- 递归和非递归实现
- 二叉树的递归建立以及深度优先遍历
- 利用栈结构实现二叉树的非递归遍历,求二叉树深度、叶子节点数、两个结点的最近公共祖先及二叉树结点的最大距离
- 利用栈结构实现二叉树的非递归遍历,求二叉树深度、叶子节点数、两个结点的最近公共祖先及二叉树结点的最大距离
- 利用栈结构实现二叉树的非递归遍历,求二叉树深度、叶子节点数、两个结点的最近公共祖先及二叉树结点的最大距离
- C语言TXT文件输出换行
- 七大内部排序算法总结(插入排序、希尔排序、冒泡排序、简单选择排序、快速排序、归并排序、堆排序)
- 扩展KMP
- 安装jupyter及修改默认文件夹
- 万兆网络UDP速率传输性能测试(接受端)
- 递归实现二叉树遍历以及求最大深度
- 面试大全3
- DQL、DML、DDL、DCL的概念与区别
- QRNN(Quasi-Recurrent Neural Networks)
- shiro简单学习
- 事务为什么加在service层而不加在dao层
- SVN服务---分支到主干
- HDU 6138 AC自动机
- 关于HTTP协议,一篇就够了