Cousins in Binary Tree

Given the root of a binary tree with unique values and the values of two different nodes of the tree x and y, return true if the nodes corresponding to the values x and y in the tree are cousins, or false otherwise.

Two nodes of a binary tree are cousins if they have the same depth with different parents.

Note that in a binary tree, the root node is at depth 0, and children of each depth k node are at depth k + 1.

Example 1
        1
       / \
      2   3
     /
    4
Inputroot = [1,2,3,4], x = 4, y = 3
Outputfalse
The nodes with values 4 and 3 are at different depths, so they are not cousins.
Example 2
        1
       / \
      2   3
       \   \
        4   5
Inputroot = [1,2,3,null,4,null,5], x = 5, y = 4
Outputtrue
The nodes with values 5 and 4 have the same depth but different parents, so they are cousins.

Constraints

  • The number of nodes in the tree is in the range [2, 100].
  • 1 <= Node.val <= 100
  • Each node has a unique value.
  • x != y
  • x and y are exist in the tree.

Asked at 7 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate