Given two binary trees, write a function to check if they are the same or not.
Two binary trees are considered the same if they are structurally identical and the nodes have the same value.
Example 1:
<strong>Input:</strong> 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] <strong>Output:</strong> true
Example 2:
<strong>Input:</strong> 1 1 / \ 2 2 [1,2], [1,null,2] <strong>Output:</strong> false
Example 3:
<strong>Input:</strong> 1 1 / \ / \ 2 1 1 2 [1,2,1], [1,1,2] <strong>Output:</strong> false
这一题主要是考查二叉树的前向遍历
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def isSameTree(self, p: TreeNode, q: TreeNode) -> bool: result1=[] result2=[] def pre_order(ptr,result): if ptr: result.append(ptr.val) pre_order(ptr.left,result) pre_order(ptr.right,result) else: result.append('None') pre_order(p,result1) pre_order(q,result2) if result1==result2: return True return False