LeetCode--Same Tree(判斷兩個二叉樹是否相同)Python
阿新 • • 發佈:2019-01-09
題目:
給定兩個二叉樹,判斷這兩個二叉樹是否完全相同。
解題思路:
直接通過中序遍歷、前序遍歷或者後續遍歷遍歷這兩棵二叉樹,得到兩個list結果,判斷這兩個list是否相同,相同返回True,否則返回False。需要注意考慮葉子節點的情況。
程式碼(Python):
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def isSameTree(self, p, q): """ :type p: TreeNode :type q: TreeNode :rtype: bool """ def read_tree(tree,r_list): if tree==None: r_list.append('null') else: r_list.append(tree.val) read_tree(tree.left,r_list) read_tree(tree.right,r_list) return r_list r1 = read_tree(p,[]) r2 = read_tree(q,[]) if r1==r2: return True else: return False