![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
RobinQueue
喜爱编程,技术狂热者,擅长Java,喜欢跑步、健身、看书。
展开
-
二叉树遍历
常见的二叉树遍历是递归方式,我这里把递归和非递归的都写下,有啥错的,请指点出来 //先序遍历 public void preOrderRecur(TreeNode head,List<TreeNode> pList){ //递归终止条件 if(null == head){ return; } pList.原创 2016-07-19 17:11:23 · 296 阅读 · 0 评论 -
平衡二叉树
设计一个算法判断一棵树是否为平衡 平衡二叉树:一棵树左右子树高度差不超过1,则为平衡二叉树public class CheckBalance { public boolean check(TreeNode root) { // write code here return m(root)>=0; } public int m(TreeNode原创 2016-07-19 20:18:58 · 278 阅读 · 0 评论 -
完全二叉树
完全二叉树是指除了最后一层以外,其它每一层节点都是慢的,如果最后一层也是满的,则它为完全二叉树,如果不是全满,缺少的节点都在右边,则也为完全二叉树 采用按层遍历方式,依次从每层的左边到右边遍历每个节点 如果当前结点有右孩子,没有左孩子,则直接返回false 如果当前结点并不是左右孩子都有,则往后的节点必须为叶节点(没有左右孩子的节点) 如果遍历过程中不返回false,则最终返回true原创 2016-07-19 20:49:15 · 592 阅读 · 0 评论