题目:
给定两个二叉树,判断这两个二叉树是否完全相同。
解题思路:
直接通过中序遍历、前序遍历或者后续遍历遍历这两棵二叉树,得到两个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
本文介绍了一种通过遍历两棵二叉树并比较它们的结构和节点值来判断它们是否完全相同的方法。该方法利用了递归思想,通过前序遍历的方式将两棵树转换为列表进行对比。

3149

被折叠的 条评论
为什么被折叠?



