随笔分类 - 二叉树
摘要:二叉树中两个节点的最长距离可能有三种情况:1.左子树的最大深度+右子树的最大深度为二叉树的最长距离2.左子树中的最长距离即为二叉树的最长距离3.右子树种的最长距离即为二叉树的最长距离因此,递归求解即可
阅读全文
摘要:TreeNode insertNode(TreeNode root,TreeNode node){ if(root == node){ return node; } TreeNode tmp = new TreeNode(); tmp = root; TreeNode last = null;...
阅读全文
摘要:TreeNode mirrorTreeNode(TreeNode root){ if(root == null){ return null; } TreeNode left = mirrorTreeNode(root.left); TreeNode right = mirrorTreeNode(root.ri...
阅读全文
摘要:TreeNode getLastCommonParent(TreeNode root,TreeNode t1,TreeNode t2){ if(findNode(root.left,t1)){ if(findNode(root.right,t2)){ return root; }else{ ...
阅读全文
摘要:boolean isCompleteTreeNode(TreeNode root){ if(root == null){ return false; } Queue<TreeNode> queue = new LinkedList<TreeNode>(); queue.add(root); bool
阅读全文
摘要:题目:给定一棵二叉搜索树,请找出其中的第k大的节点。 思路:如果按照中序遍历的顺序遍历一棵二叉搜索树,遍历序列的数值是递增排序的。因此,只需要用中序遍历算法遍历一棵二叉搜索树,就很容易找出它的第k大节点。
阅读全文
摘要:参考链接:https://blog.csdn.net/u013276277/article/details/78575033 题目一:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 题目二:输入一棵二叉树的根节点,判断
阅读全文
摘要:题目:输入一棵二叉树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。
阅读全文
摘要:题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。
阅读全文
摘要:题目:从上往下打印二叉树的每个节点,同一层的节点按照从左到右的顺序打印。--层次遍历。
阅读全文
摘要:题目:输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。
阅读全文
摘要:public void Mirror(Node node){ if(node == null){ return; } if(node.left==null && node.right == null){ return; } Node temp = node.left; ...
阅读全文
摘要:public Node reConstructBinaryTree(int[] pre,int[] in){ if(pre==null || in ==null){ return null; } Node mm = reConstructBinaryTree(pre,in,0,pre.length-1,0,in.length...
阅读全文
摘要:一、求二叉树的最大深度 二、二叉树的节点数 三、二叉树中叶子节点个数 四、二叉树第K层节点个数
阅读全文
摘要:参考链接:https://blog.csdn.net/u010842515/article/details/68951783 一:前序遍历 递归解法: 非递归解法: 二:中序遍历 递归解法: 非递归解法: 三:后序遍历 四:深度优先遍历 就是前序遍历 五:广度优先遍历
阅读全文
摘要:1. 父节点数组下标从0到 n/2 -1 ,但是遍历时要小于n/2-1,因为最后一个父节点可能没有右孩子,当n/2-1为奇数时才有右孩子,为偶数时只有左孩子。 2. 结点左孩子下标为2n+1,右孩子下标为2n+2。
阅读全文
摘要:题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路:需要保存下一层需要打印的节点个数。 ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> arrayL
阅读全文
摘要:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
阅读全文
摘要:题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路:此题包含三步: 1. 如果此节点有右子树,下一个节点为右子节点的最左边的节点。 2.如果此节点没有右子树,并且如果此节点是其父节点的左子节点,则下一
阅读全文

浙公网安备 33010602011771号