码迷,mamicode.com
首页 >  
搜索关键字:二叉树 层序遍历    ( 10966个结果
每日算法题 | 剑指offer 链表专题 (10) 两个链表的第一个公共结点
重磅干货,第一时间送达题目两个链表的第一个公共结点题目要求输入两个链表,找出它们的第一个公共结点。解题思路思路一:两条相交的链表呈Y型。可以从两条链表尾部同时出发,最后一个相同的结点就是链表的第一个相同的结点。可以利用栈来实现。时间复杂度有O(m+n),空间复杂度为O(m+n)思路二:思路一其实利用栈主要解决就是同时到达第一个结点的问题,需要有额外的空间。那么从链表头出发如何同时到达第一个相同的结
分类:编程语言   时间:2020-12-21 11:15:47    阅读次数:0
每日算法题 | 剑指offer 链表专题 (11) 复杂链表的复制
重磅干货,第一时间送达题目复杂链表的复制题目要求输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)解题思路把复制的结点链接在原始链表的每一对应结点后面把复制的结点的random指针指向被复制结点的random指针的下一个结点拆分成两个链
分类:编程语言   时间:2020-12-21 11:15:13    阅读次数:0
每日算法题 | 剑指offer (1) 二维数组的查找
题目二维数组的查找题目要求在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路题目要求中可以发现有两个突破口:1.从行看,从左往右依次递增从列看,从上往下依次递增(1)当我们从第一行第一个元素开始比较的时候,会发现无论是往右还是往下都是递增,比较没有意
分类:编程语言   时间:2020-12-21 10:58:51    阅读次数:0
LeetCode中二叉树镜像的实现
题目 实现思路: 通过递归的思路来实现该过程。 步骤: 判断当前树是否为空。如果为空直接返回null,反之则执行下一步。 判断当前左右子树都为空时,直接返回该树。反之执行下一步 判断当前左右子树有一个不为空时, 当右子树不为空且左子树为空时,将左子树复制到右子树上。之后让左子树为空。 当右子树为空但 ...
分类:其他好文   时间:2020-12-18 13:17:04    阅读次数:3
算法基础<二>
堆 堆:当一棵二叉树的每个结点都大于等于它的两个子结点时,它被称为堆有序。 命题O:根结点是堆有序的二叉树中的最大结点 二叉堆:一组能够用堆有序的完全的二叉树排序的元素,并在数组中按照层级存储(不使用数组的第一个位置)。 命题P:一棵大小为N的完全二叉树的高度为lgN。 堆有序上浮 由下至上的堆有序 ...
分类:编程语言   时间:2020-12-17 13:13:07    阅读次数:6
二叉树的递归遍历框架:
/二叉树的遍历框架/ void traverse(TreeNode root) { //前序遍历:先访问根节点,再前序访问左子树,再访问右子树 traverse(root->left); //中序遍历:先中序访问左子树,再访问根节点,再访问右子树 traverse(root->right); //后 ...
分类:其他好文   时间:2020-12-17 13:11:47    阅读次数:9
每日一题20201211(623. 在二叉树中增加一行)
623. 在二叉树中增加一行 思路 采用广度优先遍历的方式,同时在遍历的时候记录当前深度,如果深度与d相等,那么就改变当前层次树的结构,遍历完了之后直接return root即可。 需要注意的点是,如果深度为1,则可以直接创立一个新的节点,并把root赋值给树的left节点即可。(这是一个隐藏的坑, ...
分类:其他好文   时间:2020-12-16 12:47:50    阅读次数:3
[atARC087E]Prefix-free Game
建一棵trie树,考虑一个串,相当于限制了其子树内部+其到根的链 如果将所有点补全,那么这个问题可以看作每一个极浅(子树内没有其他满足条件)的到根路径以及子树内部没有其他结束点的子树的子问题 对于多个子问题博弈,很明显去求sg,由于是一颗满二叉树,因此只与深度$l$(指该子树深度,与全局的$L$无关 ...
分类:其他好文   时间:2020-12-16 11:58:02    阅读次数:2
JAVA中的方法递归
一、递归的思路 一个方法在执行时,调用自身被称为“递归”。 递归相当于数学归纳法,有一个起始条件,有一个递推公式。 递归可以分为:单路递归和多路递归(如二叉树和斐波那契数列)。 二、代码举例 1、n的阶乘 //n的阶乘 public static int fac(int num){ if(num = ...
分类:编程语言   时间:2020-12-14 12:48:02    阅读次数:4
LeetCode 515. 在每个树行中找最大值
515. 在每个树行中找最大值 Difficulty: 中等 您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] Solution Language: **** BFS+queue实现层序遍历,十分easy,一次AC。 # ...
分类:其他好文   时间:2020-12-11 12:12:45    阅读次数:4
10966条   上一页 1 ... 19 20 21 22 23 ... 1097 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!