LeetCode 练习笔记
100. 相同的树
难度:简单
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 1:
输入: 1 1
/ \ /
2 3 2 3
[1,2,3], [1,2,3]
输出: true
示例 2:
输入: 1 1
/
2 2
[1,2], [1,null,2]
输出: false
示例 3:
输入: 1 1
/ \ /
2 1 1 2
[1,2,1], [1,1,2]
输出: false
解:
1 | function isSameTree(p: TreeNode | null, q: TreeNode | null): boolean { |
101. 对称二叉树
难度:简单
给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
1plainplainplainplain
/
2 2
/ \ /
3 4 4 3
但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:
1plainplainplain
/
2 2
\
3 3
进阶:
你可以运用递归和迭代两种方法解决这个问题吗?
解
1 | function isSymmetric(root: TreeNode | null): boolean { |
104. 二叉树的最大深度
难度:简单
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3plainplainplain
/
9 20
/
15 7
返回它的最大深度 3 。
解
1 | function maxDepth(root: TreeNode | null): number { |
107. 二叉树的层次遍历 II
难度:简单
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
例如:
给定二叉树 [3,9,20,null,null,15,7]
,
1 | 3 |
返回其自底向上的层次遍历为:
1 | [ |
本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/d1c8c8d3.html
版权声明:转载请注明出处!