题目链接
https://leetcode.com/problems/same-tree/
题目原文
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
题目翻译
给定两个二叉树,写个函数判断它们是否相等。
两个二叉树相等指的是,它们结构相同,每个对应节点的值相同。
思路方法
这个问题与遍历二叉树的问题很像,因为要比较两棵树是否相等,本质上还是要遍历这两棵树,不过当找到两棵树的不同时就可以停止了。
思路一
递归,实际上相当于同时对两棵树进行深度优先遍历(DFS)。在任一非空节点应该判断是否值相等且两棵子树也相等。
代码
# 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)