LeetCode-二叉树
LeetCode-二叉树
Keal、
To make each day count.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树题目
一部分题目思路: https://juejin.im/post/5b8d64346fb9a01a1d4f99fa原创 2020-01-26 12:13:37 · 273 阅读 · 0 评论 -
LeetCode【449】序列化和反序列化二叉搜索树
题目: 序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。 设计一个算法来序列化和反序列化二叉搜索树。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串反序列化为最初的二叉搜索树。 编码的字符串应尽可能紧凑。 注意:不要使用类成员/全局/静态变量来...原创 2019-12-30 16:03:58 · 175 阅读 · 0 评论 -
Leetcode【230】二叉搜索树中第K小的元素
中序遍历,寻找第k小 class Solution { List<Integer> list = new ArrayList<>(); public int kthSmallest(TreeNode root, int k) { dfs(root); int count = 0; for (Integer p...原创 2019-12-30 15:14:44 · 128 阅读 · 0 评论 -
LeetCode【222】完全二叉树的节点个数
题目: 给出一个完全二叉树,求出该树的节点个数。 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 示例: 输入: 输出: 6 /** 有两种可能: 1、hl= hr左子树满,直接计算左子树,然后递归右子树 2、hl>hr 右子树...原创 2019-12-29 21:13:01 · 150 阅读 · 0 评论 -
LeetCode【144】二叉树的前序遍历
题目: 给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [1,2,3] public List<Integer> preorderTraversal(TreeNode root) { List<Integer> list= new ArrayList<>(); Stac...原创 2019-12-29 17:59:39 · 119 阅读 · 0 评论 -
LeetCode【129】求根到叶子节点数字之和
题目: 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 示例 1: 输入: [1,2,3] 1 / 2 3 输出: 25 解释: 从根到叶子节点路径 1->2 代表数字 12. 从根到...原创 2019-12-29 17:43:34 · 113 阅读 · 0 评论 -
LeetCode【114】二叉树展开为链表
题目: 给定一个二叉树,原地将它展开为链表。 例如,给定二叉树 将其展开为: // 最终转化完,pre节点只有right,没有left TreeNode pre = null; public void flatten(TreeNode root) { if(root ==null) return; if(pre!=null...原创 2019-12-29 14:41:11 · 124 阅读 · 0 评论 -
LeetCode【113】路径总和II
题目: 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 ...原创 2019-12-29 13:27:01 · 120 阅读 · 0 评论 -
LeetCode【103】 二叉树的锯齿形层次遍历
题目: 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 注:和102几乎没有区别,添加一个line变量,根据奇数行还是偶数行,决定正插还...原创 2019-12-29 12:32:03 · 173 阅读 · 0 评论 -
LeetCode【102】二叉树的层次遍历
题目: 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] /** 通过观察返回的结果,可以直到是大集合嵌套着小集合,需要两个集合; 设置一个队列queue,来存放每一层的元素,并...原创 2019-12-29 12:12:39 · 133 阅读 · 0 评论 -
LeetCode【94】二叉树的中序遍历
题目: 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [1,3,2] public List<Integer> inorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<>(); if...原创 2019-12-29 10:24:43 · 136 阅读 · 0 评论
分享