栈
Jiale685
幸福并不是男子汉所该追求的
展开
-
【LeetCode】116. Populating Next Right Pointers in Each Node 解题报告(Python)
给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。示例:解题思路1:这一题可以采用队列层序遍历的方法(指向下一个会有一个判断,不能时当前层的最后一个,及1,3原创 2020-07-05 10:30:17 · 310 阅读 · 0 评论 -
【LeetCode】101. Symmetric Tree 解题报告(Python)
题目分析:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:解题思路:这一题的本质还是遍历,对于树的遍历可使用递归或者栈。提交代码1:(递归,Runtime: 40 ms, faster than 99.14% )class Solution: def...原创 2019-04-26 16:31:13 · 494 阅读 · 0 评论 -
【LeetCode】94. Binary Tree Inorder Traversal 解题报告(Python)
题目分析:给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2]解题思路:遍历二叉树我们可以选择使用递归或者栈的方式解决递归,我们只需要判断当前节点不为None,就接着把左节点进入递归,左节点进入完毕,我们就输出,当前节点值,然后把右节点进入递归。(这与中序遍历思想相同)参考博客1栈,我们把左节点压入栈,左节点压入完毕,我...原创 2019-04-18 11:02:09 · 460 阅读 · 0 评论 -
【LeetCode】98. Validate Binary Search Tree 解题报告(Python)
题目分析:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输出: true示例 2:解题思路:初看这一题是懵逼的,经过评论区的提醒发现核心就四个字:中序遍历,对于一个搜索树中序遍历为升序,这样我们就可以把问题转化为...原创 2019-04-23 22:57:45 · 291 阅读 · 0 评论 -
【LeetCode】104. Maximum Depth of Binary Tree 解题报告(Python)
题目分析:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。解题思路:这一题可以用深度遍历和广度遍历解决,深度遍历采用递归,广度遍历使用队列的思想。这一题可以说是一个非常经典的递归题目。提交代码1:(深度遍历,递归...原创 2019-05-21 16:44:21 · 516 阅读 · 3 评论