Leetcode
Paper_Yu
这个作者很懒,什么都没留下…
展开
-
Python刷leetcode106. 从中序与后序遍历序列构造二叉树
根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 思路:与上一篇基本相同,找到中序和后序的对应关系,中序为【左,根,右】,后序为【左,右,根】# ...原创 2018-07-06 17:39:44 · 1418 阅读 · 0 评论 -
Python刷leetcode113. 路径总和 II
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ ...原创 2018-07-07 00:15:57 · 1013 阅读 · 0 评论 -
Python刷leetcode112. 路径总和
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / ...原创 2018-07-06 23:52:23 · 257 阅读 · 0 评论 -
Python刷leetcode111. 二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.思路:基本思路和求最大深度类似,区别是如果只有一个子结点不为空,则最小深度应取那个不为子结点的深度+1# ...原创 2018-07-06 23:03:27 · 461 阅读 · 0 评论 -
Python刷leetcode:110. 平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 ...原创 2018-07-06 22:50:33 · 1248 阅读 · 0 评论 -
Python刷leetcode108. 将有序数组转换为二叉搜索树
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5 思路...原创 2018-07-06 19:59:13 · 915 阅读 · 0 评论 -
Python刷leetcode107. 二叉树的层次遍历 II
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其自底向上的层次遍历为:[ [15,7], [9,20], [3] ] 思路:与102题相同,只是最后返回的列表res逆序# De...原创 2018-07-06 17:49:06 · 1158 阅读 · 0 评论 -
Python刷leetcode 102. 二叉树的层次遍历
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果:[ [3], [9,20], [15,7] ] 思路:用队列实现 1、root为空,则返回空表 2...原创 2018-07-06 16:27:44 · 2533 阅读 · 0 评论 -
Python刷leetcode 103. 二叉树的锯齿形层次遍历
给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下:[ [3], [20,9], [15,7] ] 思路:和上一篇文章102的思路基本相同,只是在re...原创 2018-07-06 16:40:50 · 1287 阅读 · 0 评论 -
Python刷leetcode105. 从前序与中序遍历序列构造二叉树
根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7思路:找到中序遍历和先序遍历的对应关系,以先序遍历第一个值作为根节点的值# Definition f...原创 2018-07-06 17:18:30 · 1270 阅读 · 0 评论 -
Python刷leetcode114. 二叉树展开为链表
给定一个二叉树,原地将它展开为链表。例如,给定二叉树 1 / \ 2 5 / \ \ 3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6思路:递归实现,暂存右结点,将左结点接在根结点右边,然后把暂存的右结点接在后面...原创 2018-07-07 10:51:22 · 943 阅读 · 0 评论