上一页 1 2 3 4 5 6 7 8 ··· 38 下一页
摘要: leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树(中等) 本题要求用先序和中序遍历来建立二叉树,由于先序的顺序的第一个肯定是根,所以原二叉树的根节点可以知道,题目中给了一个很关键的条件就是树中没有相同元素,有了这个条件就可以在中序遍历中也定位出根邛的位置,并以根节点的位置将中序遍历拆分为左右两个部分,分别对其递归调用原函数。 阅读全文
posted @ 2022-09-22 13:30 okokabcd 阅读(22) 评论(0) 推荐(0) 编辑
摘要: leetcode 637. Average of Levels in Binary Tree 二叉树的层平均值(简单) 求一个二叉树每层的平均值,利用广度优先搜索,我们可以很方便地求取每层的平均值。直接使用queue,直接将每层的值累计加起来除以该层的节点个数,存入结果ans中即可。 阅读全文
posted @ 2022-09-15 21:16 okokabcd 阅读(31) 评论(0) 推荐(0) 编辑
摘要: leetcode 1110. Delete Nodes And Return Forest  删点成林(中等) 二叉树的题首先想到用递归,递归方法传递4个参数,当前节点;是否是根节点(如果是根节点、且存在左右子树才会形成新树);再传递一个hashset用来存储要删除的节点,达到常数据级搜索;还有一个保存结果的list。 阅读全文
posted @ 2022-09-14 14:12 okokabcd 阅读(36) 评论(0) 推荐(0) 编辑
摘要: leetcode 110. Balanced Binary Tree 平衡二叉树(简单) 思路:定义一个求各个节点深度的函数,然后中每个节点的两个子树来比较深度差,针对每个点都会被计算深度时访问一次进行优化,如果发现子树不平衡,则不计算具体的深度,而是直接返回-1,优化后的谅赤:对于每一个节点,通过checkDepth方法递归获得左右子树的深度,如果子树是平衡的,则返回真实的深度,若不平衡,直接返回-1。 阅读全文
posted @ 2022-09-13 12:53 okokabcd 阅读(25) 评论(0) 推荐(0) 编辑
摘要: leetcode 543. Diameter of Binary Tree 二叉树的直径(简单) 求二叉树的直径,其实就是求根节点左右两个子树的深度之和。我们只要对每个节点求出其左右子树深度之和,这个值作为一个候选值。 阅读全文
posted @ 2022-09-09 13:01 okokabcd 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 双层递归实现,注意分情况考虑:1、如果选取该节点加入路径,则之后必须继续加入连续节点,或停止加入节点;2、如果不选取该节点加入路径,则对其左右节点进行重新考虑。因此一个方便的方法是我们创建一个辅函数,专门用来计算连续加入节点的路径。 阅读全文
posted @ 2022-09-08 20:17 okokabcd 阅读(83) 评论(0) 推荐(0) 编辑
摘要: leetcode 101. Symmetric Tree 对称二叉树(简单) (1)如果两个子树都为空指针,则它们相等或对称(2) 如果两个子树只有一个为空指针,则它们不相等或不对称(3)如果两个子树根节点的值不相等, 则它们不相等或不对称(4)根据相等或对称要求,进行递归处理。 阅读全文
posted @ 2022-09-07 13:13 okokabcd 阅读(56) 评论(0) 推荐(0) 编辑
摘要: leetcode 114. Flatten Binary Tree to Linked List 二叉树展开为链表(简单) 思路:非迭代版实现,从根节点开始出发,先检测其左子节点是否存在,如存在则将根节点和其右节点断开,将左子节点及其后面所有结构一起连接到右子节点的位置,把原右子节点连到原左子节点为最后面的右子节点之后。 阅读全文
posted @ 2022-09-06 16:03 okokabcd 阅读(46) 评论(0) 推荐(0) 编辑
摘要: leetcode 104. Maximum Depth of Binary Tree 二叉树的最大深度(简单) 思路二:也可以用层序遍历二叉树,然后计数总层数,即为二叉树的最大深度,需要注意的是while循环中的for循环的写法,一定要将q.size()放在初始化里,而不能放在普快停止的条件中,因为q的大小是随时变化的,所以放在停止条件中会出错。 阅读全文
posted @ 2022-09-05 12:59 okokabcd 阅读(45) 评论(0) 推荐(0) 编辑
摘要: leetcode 83. Remove Duplicates from Sorted List 删除排序链表中的重复元素(简单) 思路:如果下一个元素和当前元素的值相等,这个元素的下个元素就等于下个元素的下个元素,继续循环。 阅读全文
posted @ 2022-09-04 18:55 okokabcd 阅读(43) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 38 下一页