![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题解
文章平均质量分 69
每天上传2-3题算法题解,加油呀。
416576poo
这个作者很懒,什么都没留下…
展开
-
回溯类题目解法与实例
总结自 代码随想录回溯回溯有什么用:回溯 = 穷举,当需要不断做出选择,需尝试所有选择,以找到题解时,则总可以用回溯。比如 :组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式棋盘问题:N皇后,解数独等等另外,在解动态规划算法题时,先模拟下回溯会很有帮助。回溯长什么样:递归可用树形结构模拟,因为回溯法解决的都是在集合中递归查找子集,集合的大小 .原创 2021-10-14 23:52:39 · 142 阅读 · 0 评论 -
04二叉树的修改与构造
二叉树的修改与构造翻转二叉树 链接简述:给一颗二叉树,令树内的每一个节点左右子树互换。递归思路:输入与输出:输入树的根节点,输出处理后的根节点。临界值:输入null,返回null;单层递归:前序遍历,先构造根节点:交换左右子树,然后分别翻转左右子树,作为根节点的新子树。迭代思路:DFS或BFS时,每遍历到一个节点,交换左右子节点。构造二叉树 链接简述:给一个二叉树的中序遍历和后序遍历,构建二叉树。递归思路:输入:中序遍历数组,后续遍历数组,中序遍历开始值,中序遍历结束值,后序遍历开始原创 2021-10-07 21:38:55 · 324 阅读 · 0 评论 -
求二叉树的属性类题目10道
该专栏为阅读代码随想录后,做的一些符合个人阅读习惯的整理笔记,详细代码可在链接内寻到。力扣101题:是否对称简述:给定一个二叉树,检查它是否是镜像对称的。递归:后序,比较的是根节点的左子树与右子树是不是相互翻转。输入与输出:输入两个节点,返回一个布尔值,表示左右子树可否互相反转。临界值:左空右不空,左不空右空,左右都空。左右都不为空,但左右值不等。单层递归的逻辑:递归比较内侧节点与外侧节点,两这都为true,返回true。迭代:双端队列模拟双栈,或是单队列操作两树,每次迭代原创 2021-10-04 11:14:23 · 116 阅读 · 0 评论 -
树的前、中、后、层序遍历的模板以及使用场景推荐
介绍下树的前、中、后遍历以及层序遍历,以及使用场景推荐。前、中、后遍历递归式// 以前序举例,此例可输出二叉树的前序遍历。实际使用中可将result.add(root.val)灵活变动为其他语句。class Solution { ArrayList<Integer> preOrderReverse(TreeNode root) { ArrayList<Integer> result = new ArrayList<Integer>();原创 2021-10-03 17:08:00 · 367 阅读 · 0 评论