Cousins in Binary Tree LeetCode solution in Python
1# Definition for a binary tree node.2# class TreeNode:3# def __init__(self, val=0, left=None, right=None):4# self.val = val5# self.left = left6# self.right = right7class Solution:8ans = False910def isCousins(self, root: Optional[TreeNode], x: int, y: int) -> bool:11def dfs(node, depth):12if self.ans or not node:13return 014if node.val == x or node.val == y:15return depth16l = dfs(node.left, depth + 1)17r = dfs(node.right, depth + 1)18if not (l and r):19return l or r20if l == r and l != depth + 1:21self.ans = True22return 02324dfs(root, 0)25return self.ans