题目链接
英文链接:https://leetcode.com/problems/single-number/
中文链接:https://leetcode-cn.com/problems/single-number/
题目详述
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
1 | 输入: [2,2,1] |
示例 2:
1 | 输入: [4,1,2,1,2] |
英文链接:https://leetcode.com/problems/single-number/
中文链接:https://leetcode-cn.com/problems/single-number/
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
1 | 输入: [2,2,1] |
示例 2:
1 | 输入: [4,1,2,1,2] |
英文链接:https://leetcode.com/problems/leaf-similar-trees/
中文链接:https://leetcode-cn.com/problems/leaf-similar-trees/
请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。

举个例子,如上图所示,给定一颗叶值序列为 (6, 7, 4, 9, 8) 的树。
如果有两颗二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。
如果给定的两个头结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。
提示:
1 到 100 个结点。英文链接:https://leetcode.com/problems/maximum-binary-tree/
中文链接:https://leetcode-cn.com/problems/maximum-binary-tree/
给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:
通过给定的数组构建最大二叉树,并且输出这个树的根节点。
Example 1:
1 | 输入: [3,2,1,6,0,5] |
注意:
英文链接:https://leetcode.com/problems/average-of-levels-in-binary-tree/
中文链接:https://leetcode-cn.com/problems/average-of-levels-in-binary-tree/
给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.
示例 1:
1 | 输入: |
注意:
英文链接:https://leetcode.com/problems/merge-two-binary-trees/
中文链接:https://leetcode-cn.com/problems/merge-two-binary-trees/
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。
你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。
示例 1:
1 | 输入: |
注意: 合并必须从两个树的根节点开始。
英文链接:https://leetcode.com/problems/subtree-of-another-tree/
中文链接:https://leetcode-cn.com/problems/subtree-of-another-tree/
给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。
示例 1:
给定的树 s:
1 | 3 |
给定的树 t:
1 | 4 |
返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。
示例 2:
给定的树 s:
1 | 3 |
给定的树 t:
1 | 4 |
返回 false。
英文链接:https://leetcode.com/problems/binary-tree-tilt/
中文链接:https://leetcode-cn.com/problems/binary-tree-tilt/
给定一个二叉树,计算整个树的坡度。
一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。
整个树的坡度就是其所有节点的坡度之和。
示例:
1 | 输入: |
注意:
英文链接:https://leetcode.com/problems/diameter-of-binary-tree/
中文链接:https://leetcode-cn.com/problems/diameter-of-binary-tree/
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。
示例 :
给定二叉树
1 | 1 |
返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。
注意:两结点之间的路径长度是以它们之间边的数目表示。
英文链接:https://leetcode.com/problems/convert-bst-to-greater-tree/
中文链接:https://leetcode-cn.com/problems/convert-bst-to-greater-tree/
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。
例如:
1 | 输入: 二叉搜索树: |
英文链接:https://leetcode.com/problems/minimum-absolute-difference-in-bst/
中文链接:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/
给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。
示例 :
1 | 输入: |
注意: 树中至少有2个节点。