摘要: 20. 有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()"输出:true示例 2: 输入:s = "()[]{}"输出 阅读全文
posted @ 2022-05-19 22:46 苏格拉底的落泪 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 113. 路径总和 II 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1] 阅读全文
posted @ 2022-05-19 22:18 苏格拉底的落泪 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 112. 路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点的节点。 示例 1: 阅读全文
posted @ 2022-05-19 22:07 苏格拉底的落泪 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 236. 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 示例 1: 给定一个 阅读全文
posted @ 2022-05-19 21:54 苏格拉底的落泪 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 404. 左叶子之和 给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 输入: root = [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24示例 2: 输入: root = [1]输出: 0 提 阅读全文
posted @ 2022-05-19 21:39 苏格拉底的落泪 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如 阅读全文
posted @ 2022-05-19 21:33 苏格拉底的落泪 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 563. 二叉树的坡度 给你一个二叉树的根节点 root ,计算并返回 整个树 的坡度 。 一个树的 节点的坡度 定义即为,该节点左子树的节点之和和右子树节点之和的 差的绝对值 。如果没有左子树的话,左子树的节点之和为 0 ;没有右子树的话也是一样。空结点的坡度是 0 。 整个树 的坡度就是其所有节 阅读全文
posted @ 2022-05-19 21:29 苏格拉底的落泪 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 222. 完全二叉树的节点个数 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 阅读全文
posted @ 2022-05-19 21:21 苏格拉底的落泪 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 543. 二叉树的直径 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点 阅读全文
posted @ 2022-05-19 21:16 苏格拉底的落泪 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 191. 位1的个数 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数 阅读全文
posted @ 2022-05-19 20:57 苏格拉底的落泪 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 260. 只出现一次的数字 III 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现? 示例 1:输入:nums = [1,2,1,3 阅读全文
posted @ 2022-05-19 20:50 苏格拉底的落泪 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 137. 只出现一次的数字 II 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 示例 1: 输入:nums = [2,2,3,2]输出:3示例 2: 输入:nums = [0,1,0,1,0,1,99]输出:99 提示 阅读全文
posted @ 2022-05-19 20:41 苏格拉底的落泪 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1]输出: 1示例 2: 输入: [4,1,2,1,2]输出: 阅读全文
posted @ 2022-05-19 20:30 苏格拉底的落泪 阅读(16) 评论(0) 推荐(0) 编辑