二叉树的堂兄弟节点
力扣 993. 二叉树的堂兄弟节点
题目说明
在二叉树中,根节点位于深度
0处,每个深度为k的节点的子节点位于深度k+1处。如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。
我们给出了具有唯一值的二叉树的根节点
root,以及树中两个不同节点的值x和y。只有与值
x和y对应的节点是堂兄弟节点时,才返回true。否则,返回false。
- 提示:
- 二叉树的节点数介于
2到100之间。 - 每个节点的值都是唯一的、范围为
1到100的整数。
- 二叉树的节点数介于
示例
示例 1:
1 | 输入:root = [1,2,3,4], x = 4, y = 3 |
示例 2:
1 | 输入:root = [1,2,3,null,4,null,5], x = 5, y = 4 |
示例 3:
1 | 输入:root = [1,2,3,null,4], x = 2, y = 3 |
笔者理解
此题是一道树算法问题,在力扣题库中被定义为简单题。
解法
当笔者阅读完此题后,发现此题只需要知道两个节点的层级和父节点即可,在此处直接进行树遍历记录,让我们来看看具体如何实现的吧。
实现
1 | /** |
时间和空间效率都还行,可见此解法还比较适合此题;
总结
本题是今天的每日一题,难度是为简单,感兴趣的朋友都可以去尝试一下,此题还有其他更多的解法,朋友们可以自己逐一尝试。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 徐年の博客!











