二叉树
悠风号
人的理想志向往往和他的能力成正比
展开
-
二叉树中和为某一值的路径 的 Java 解法(剑指offer)
题目:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 思路: 递归先序遍历树, 把结点加入路径。 若该结点是叶子结点则比较当前路径和是否等于期待和。 弹出结点,每一轮递归返回到父结点时,当前路径也应该回退...原创 2018-08-26 10:24:54 · 788 阅读 · 0 评论 -
如何判断一个二叉树是否是平衡二叉树(Java)
假如有一个二叉树,需要确定它是否是平衡二叉树。最直接的做法,就是遍历每个结点,借助一个获取树深度的递归函数,根据该结点的左右子树高度差判断是否平衡,然后递归地对左右子树进行判断。 public boolean IsBalance_Solution(TreeNode root){ if(root==null) return true; int left = depth(roo...原创 2018-08-27 23:50:58 · 5649 阅读 · 2 评论 -
判断一个二叉树是否是对称二叉树( Java)
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同,左子树的右子树和右子树的左子树相同即可,采用递归,另外非递归也可,采用栈或队列存取各级子树根节点。 方法一 package lastfifteen; public class treeSymmetrical {...原创 2018-08-30 11:36:33 · 4063 阅读 · 2 评论