打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一段代码让你理解二叉树的递归奥秘
class  TreeNode
{
TreeNode left;
TreeNode right;
int val;
TreeNode(int val){
this.val=val;
}
static void scanNodes(TreeNode root){
if(root!=null){
System.out.println("this is node :"+root.val); //先序遍历
scanNodes(root.left);
System.out.println("node"+root.val+" finish scanning left");
scanNodes(root.right);
System.out.println("node"+root.val+" finish scanning right");
}
}
public static void main(String[] args)
{
TreeNode root=new TreeNode(1);
TreeNode left1=new TreeNode(2);
TreeNode left2=new TreeNode(3);
TreeNode right1=new TreeNode(4);
//创建一棵树
root.left=left1;
left1.right=left2;
root.right=right1;
scanNodes(root);
}
}
运行结果如下:
总体思路就是先左子树,再右子树;左子树上的每个结点都要判断是否有左右孩子,当遍历到左子树的叶子节点时,左子树遍历完毕,开始右子树。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
不怕面试被问了!二叉树算法大盘点 | 原力计划
数据结构之二叉树总篇(Java)
万字长文!二叉树入门和刷题看这篇就够了!
388,先序遍历构造二叉树
剑指offer(C++)-JZ84:二叉树中和为某一值的路径(三)(数据结构-树)
​LeetCode刷题实战145:二叉树的后序遍历
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服