随笔分类 -  LeetCode[树/图]

摘要:LeetCode:课程表II【210】 题目描述 现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺 阅读全文
posted @ 2018-11-21 21:01 子烁爱学习 阅读(803) 评论(0) 推荐(0) 编辑
摘要:LeetCode:课程表【207】 题目描述 现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习? 示例 阅读全文
posted @ 2018-11-21 18:51 子烁爱学习 阅读(3207) 评论(0) 推荐(0) 编辑
摘要:LeetCode:二叉搜索树中第K小的数【230】 题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 示例 2: 进阶:如果二叉搜索树经常被修改(插入/删除操作)并 阅读全文
posted @ 2018-11-14 09:21 子烁爱学习 阅读(578) 评论(0) 推荐(0) 编辑
摘要:LeetCode:验证二叉搜索树【98】 题目描述 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 示例 2: 题目分析 二叉搜索 阅读全文
posted @ 2018-11-14 08:52 子烁爱学习 阅读(209) 评论(0) 推荐(0) 编辑
摘要:LeetCode:N叉树的层次遍历【429】 题目描述 给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。 例如,给定一个 3叉树 : 返回其层序遍历: 说明: 题目分析 使用队列处理。 Java题解 阅读全文
posted @ 2018-11-13 17:08 子烁爱学习 阅读(286) 评论(0) 推荐(0) 编辑
摘要:LeetCode:二叉搜索树中的搜索【700】 题目描述 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 你应该返回如下子树: 在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我 阅读全文
posted @ 2018-11-13 17:04 子烁爱学习 阅读(147) 评论(0) 推荐(0) 编辑
摘要:LeetCode:翻转二叉树【226】 题目描述 翻转一棵二叉树。 示例: 输入: 输出: 题目分析 略。 Java题解 阅读全文
posted @ 2018-11-13 16:58 子烁爱学习 阅读(268) 评论(0) 推荐(0) 编辑
摘要:LeetCode:二叉树的后序遍历【145】 题目描述 给定一个二叉树,返回它的 后序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 题目分析 这道题难度和N叉树的后序遍历是等同的,但是标注为困难。 首先我们都知道,栈顶元素一般都是根元素,弹出根元素,加入根元素的左节点、右节点 阅读全文
posted @ 2018-11-13 16:43 子烁爱学习 阅读(123) 评论(0) 推荐(0) 编辑
摘要:LeetCode:N叉树的前序遍历【589】 题目描述 给定一个 N 叉树,返回其节点值的前序遍历。 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]。 题目分析 使用栈结构。处于栈顶的是根元素,然后逆序加入其子元素,这样处于栈顶的就是其左子节点,处于栈低的是其右子节点。然后 阅读全文
posted @ 2018-11-13 16:37 子烁爱学习 阅读(225) 评论(0) 推荐(0) 编辑
摘要:LeetCode:N叉树的后序遍历【590】 题目描述 给定一个 N 叉树,返回其节点值的后序遍历。 例如,给定一个 3叉树 : 返回其后序遍历: [5,6,3,2,4,1]. 题目分析 这道题有好几个标签,比如N叉树、递归算法、栈等等。我们使用栈来解决这个问题。 首先我们都知道,栈顶元素一般都是根 阅读全文
posted @ 2018-11-13 16:21 子烁爱学习 阅读(303) 评论(0) 推荐(0) 编辑