993. Cousins in Binary Tree (Easy) - TengnanYao/daily_leetcode GitHub Wiki
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution(object):
def isCousins(self, root, x, y):
"""
:type root: TreeNode
:type x: int
:type y: int
:rtype: bool
"""
queue = [root]
m = n = -1
while queue:
level = []
for i, node in enumerate(queue):
if node:
if node.val == x:
m = i
elif node.val == y:
n = i
if m >= 0 and n >= 0:
return not (min(m, n) % 2 == 0 and abs(m - n) == 1)
level.append(node.left)
level.append(node.right)
if m >= 0 or n >= 0:
return False
queue = level