LeetCode-二叉树
LeetCode-二叉树
Keal、
To make each day count.
展开
-
二叉树题目
一部分题目思路:https://juejin.im/post/5b8d64346fb9a01a1d4f99fa原创 2020-01-26 12:13:37 · 209 阅读 · 0 评论 -
LeetCode【449】序列化和反序列化二叉搜索树
题目:序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。设计一个算法来序列化和反序列化二叉搜索树。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串反序列化为最初的二叉搜索树。编码的字符串应尽可能紧凑。注意:不要使用类成员/全局/静态变量来...原创 2019-12-30 16:03:58 · 115 阅读 · 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 · 86 阅读 · 0 评论 -
LeetCode【222】完全二叉树的节点个数
题目:给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入:输出: 6/**有两种可能:1、hl= hr左子树满,直接计算左子树,然后递归右子树2、hl>hr 右子树...原创 2019-12-29 21:13:01 · 98 阅读 · 0 评论 -
LeetCode【144】二叉树的前序遍历
题目:给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,2,3] public List<Integer> preorderTraversal(TreeNode root) { List<Integer> list= new ArrayList<>(); Stac...原创 2019-12-29 17:59:39 · 71 阅读 · 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 · 71 阅读 · 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 · 80 阅读 · 0 评论 -
LeetCode【113】路径总和II
题目:给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1...原创 2019-12-29 13:27:01 · 71 阅读 · 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 · 122 阅读 · 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 · 80 阅读 · 0 评论 -
LeetCode【94】二叉树的中序遍历
题目:给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2] public List<Integer> inorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<>(); if...原创 2019-12-29 10:24:43 · 82 阅读 · 0 评论