此博客链接:
二叉树的堂兄弟节点
题目链接:https://leetcode-cn.com/problems/cousins-in-binary-tree/
在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。
如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。
我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。
只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true。否则,返回 false。
示例 1:
输入:root = [1,2,3,4], x = 4, y = 3
输出:false
示例 2:
输入:root = [1,2,3,null,4,null,5], x = 5, y = 4
输出:true
示例 3:
输入:root = [1,2,3,null,4], x = 2, y = 3
输出:false
题解:
思路:
1.层次遍历,把跟节点的左右孩子存入到队列中,然后从队列中取出节点,判断给定的x,y有没有在第二层在,只要有一个在第二层上,就返回false。
2.如果给的节点不在第二层,且在同一层上,则返回true。
代码:
原文:https://www.cnblogs.com/ping2yingshi/p/13610832.html