码迷,mamicode.com
首页 >  
搜索关键字:二叉树    ( 10883个结果
leetcode-236-二叉树公共祖先
思路: 公共祖先需要分为三种情况: 1.pq包含在root的左右子树中,则root就是他们公共祖先 2.pq包含在root的右子树中,则公共祖先是右子树 3.pq包含在root的左子树中,则公共祖先在左子树 代码: /** * Definition for a binary tree node. * ...
分类:其他好文   时间:2020-07-28 17:01:57    阅读次数:59
线段树详解
概念 线段树是一棵二叉树,线段是上每个结点对应的是序列的一段区间。如图(以下图片为引用) 容易发现,根节点对应的是整个区间[0,n-1].若一个结点对应的区间为[l,r],当l=r时,它是一个叶结点,没有左右儿子;否则他一定有两个儿子,令mid=(l+r)/2,则左儿子对应的区间为[l,mid],右 ...
分类:其他好文   时间:2020-07-28 16:49:56    阅读次数:55
104题-二叉树的最大深度
1.1题目 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。 1.2解答 很显然是二叉树的遍历问题。遍历每个点然后返回当前点的深 ...
分类:其他好文   时间:2020-07-28 10:07:40    阅读次数:59
面试题32:从上到下打印二叉树
从上到下打印二叉树,引用辅助队列。 C++版本 #include <iostream> #include <vector> #include <stack> #include <cstring> #include <queue> #include <algorithm> using namespac ...
分类:其他好文   时间:2020-07-28 10:00:15    阅读次数:73
leetcode-94-二叉树的中序遍历
思路: 中序:左->根->右 1.需要一个建立一个栈,首先将左子树放入栈中 2.获取栈顶元素并进行节点判断是否有右子树 3. 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode  ...
分类:其他好文   时间:2020-07-27 23:50:51    阅读次数:62
LeetCode124二叉树中的最大路径和
题目链接 https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/ 题解 递归解法 路径:一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 这道题和LeetCode687最长同值路径和Leet ...
分类:其他好文   时间:2020-07-27 23:35:37    阅读次数:74
889. 根据前序和后序遍历构造二叉树
解答:本题主要采用递归的方式来构造二叉树 解答思路: 1、前序遍历的第一个节点必然等于后序遍历的最后一个节点,这个节点为根节点,然后再找一把刀,把中间的砍成左子树和右子树 2、前序的第二个节点,就是左子树的根节点,同时要找到这个节点在后序中的位置,那么从后序开头到这个位置之间,就是左子树了,这个位置 ...
分类:其他好文   时间:2020-07-27 15:44:35    阅读次数:74
leetcode-98-验证二叉搜索树
思路: 1.使用DFS遍历整颗树 2.二叉树的根节点的范围为INT_MIN,INT_MAX. 3.对于当前节点判断是否合法,合法条件:先遍历左子树的最大值是否小于当前节点的值,在遍历右子树,右子树的最小值是否大于当前节点的值 注意: 根节点的边界为 INT_MIN,INT_MAX 左子树的范围:lo ...
分类:其他好文   时间:2020-07-27 13:53:58    阅读次数:61
二叉树的三种遍历非递归实现(栈) 以及层序遍历(队列)(java)
先序遍历:根-->左-->右的形式 public static void preOrderTraveralWithStsck(Node node){ Stack<Node> stack = new Stack(); //当节点的左右孩子全为空并且,栈空表示遍历完毕 while (node != nu ...
分类:编程语言   时间:2020-07-27 09:42:07    阅读次数:81
二叉排序树
二叉排序树 二叉排序树:BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。 二叉排序树创建和遍历 ? 一个数组创建成对应的二叉排序树,并使用中序遍历二叉排序树 使用中序遍历的二叉树结点 ...
分类:编程语言   时间:2020-07-27 09:35:38    阅读次数:81
10883条   上一页 1 ... 31 32 33 34 35 ... 1089 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!