LeetCode二叉树专题
zsaCHG
这个作者很懒,什么都没留下…
展开
-
LeetCode二叉树专题 (3) 对称二叉树
题目给定一个二叉树,检查它是否是镜像对称的。解题思路递归解法根据树型知识里描述的,如果使用递归解决这道题,我们需要先找到子问题,再通过不断的递归这个子问题,最后因为限制条件而中止。这道题的子问题是什么呢,如果一颗树是对称的,那么他的左右子树肯定是对称的。得到这样的代码。class Solution { public boolean isSymmetric(TreeNode root) { return isSYM(root.left,root.right); .原创 2020-07-13 11:10:45 · 138 阅读 · 0 评论 -
LeetCode二叉树专题 (2) 相同的树
题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。解题思路这道题的解题思路比较简单,就是同时遍历两颗树的问题,并比较每个遍历的结点的值是否相等即可。问题就变成了怎么遍历,根据树型知识)里描述的,我们有很多种遍历的方法可以选择,通过深度优先和广度优先都可以,每种优先都可以使用递归和迭代实现。先看递归解决方案递归解法先找子问题,两颗树相同,就是根节点相同,并且左右子树也符合这个要求,那么子问题就是每个遍历到的结点都相同。终止条件.原创 2020-07-12 18:57:58 · 303 阅读 · 0 评论 -
LeetCode 二叉树专题 (1)二叉树知识 和 解题框架
算法题中树相关的题目是相对比较难的,同时在开始刷算法题时,也最好先从树型题刷起,因为他的解题思想对以后各种题型都是有帮助的。在对与树型相关的题目我们多练习发现还是有解题框架我们可以套用的。本篇先简单介绍一下树型数据结构的定义,然后讲解下树形题的大致解体思路。在面对一个数据结构时,我们要看他的存储和遍历,毕竟数据结构就是为了方便我们遍历而存在的。树定义表示逻辑上的一对多关系,每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个..原创 2020-07-10 10:01:14 · 311 阅读 · 0 评论