题目:
给定两个二叉树,判断这两个二叉树是否完全相同。
解题思路:
直接通过中序遍历、前序遍历或者后续遍历遍历这两棵二叉树,得到两个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