什么是二叉树的堂兄弟节点

  介绍

这篇文章主要讲解了“什么是二叉树的堂兄弟节点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是二叉树的堂兄弟节点”吧!

,二叉树的堂兄弟节点

在二叉树中,根节点位于深度0处,每个深度为k的节点的子节点位于深度k + 1处。

如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。

我们给出了具有唯一值的二叉树的根节点根,以及树中两个不同节点的x和y值。

只有与值x和y对应的节点是堂兄弟节点时,才返回真的。否,则返回错误的。

<强>提示:

<李>

二叉树的节点数介于<代码> 2 到<代码> 100 之间。

<李>

每个节点的值都是唯一的,范围为1 <代码> 到<代码> 100>

<强>示例1:

<>以前输入:root =, (1、2、3、4), x =, 4, y =, 3   输出:假
/* *
  ,* Definition  for  a  binary  tree 节点。
  ,* public  class  TreeNode  {
  ,*,,,,int  val;
  ,*,,,,TreeNode ;
  ,*,,,,TreeNode ;
  ,*,,,,TreeNode (), {}
  ,*,,,,TreeNode (int  val), {, this.val =, val,,}
  ,*,,,,TreeNode (int  val, TreeNode 左,TreeNode 右),{
  ,*,,,,,,,,this.val =, val;
  ,*,,,,,,,,this.left =,离开;
  ,*,,,,,,,,this.right =,正确的;
  ,*,,,,}
  ,*}
  ,*/class  Solution  {
  ,,,int  x_father=1;
  ,,,int  y_father=2;
  ,,,int  x_dep, y_dep;
  ,,,public  boolean  isCousins (TreeNode 根,int  x,, int  y), {
  ,,,,,,,dfs(根、root.left、x, y, 1);
  ,,,,,,,dfs(根、root.right、x, y, 1);
  ,,,,,,,return  (x_dep==y_dep),和(x_father !=y_father);
  ,,,}
  
  ,,,public  void  dfs (TreeNode 父亲TreeNode 节点,int  x, int  y, int  dep) {
  ,,,,,,,如果(node ==, null) {
  ,,,,,,,,,,,返回;
  ,,,,,,,}
  ,,,,,,,如果(==node.val  x) {
  ,,,,,,,,,,,x_dep =,管理;
  ,,,,,,,,,,,x_father =, father.val;
  ,,,,,,,}else 如果(==node.val  y) {
  ,,,,,,,,,,,y_dep =,管理;
  ,,,,,,,,,,,y_father =, father.val;
  ,,,,,,,其他}{
  ,,,,,,,,,,,dfs(节点、node.left x, y, dep + 1);
  ,,,,,,,,,,,dfs(节点、node.right x, y, dep + 1);
  ,,,,,,,}
  ,,,}
  }

感谢各位的阅读,以上就是“什么是二叉树的堂兄弟节点”的内容了,经过本文的学习后,相信大家对什么是二叉树的堂兄弟节点这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

什么是二叉树的堂兄弟节点