# Same Tree https://leetcode.com/problems/same-tree/ ## Solution 1: [[recursion|Recursion]] ## Solution 2: Iteration ```python from collections import deque def check(p, q) -> bool: if not p and not q: return True if not q or not p: return False if p.val != q.val: return False return True deq = deque([(p, q)]) while deq: p, q = deq.popleft() if not check(p, q): return False if p: deq.append((p.left, q.left)) deq.append((p.right, q.right)) return True ``` The key to make it work is append both children at the same time.