LeetCode 100 Same Tree(Python详解及实现)

来源:互联网 发布:ad软件怎么安装 编辑:程序博客网 时间:2024/05/17 08:31

【题目】

Given two binary trees, write a function tocheck if they are equal or not.

 

Two binary trees are considered equal ifthey are structurally identical and the nodes have the same value.

 

给定两棵二叉树,判定相等与否。如果两棵树的结构相同并且结点值相等则二叉树相等。

 

【思路】

若结点的left, right指向None表示没有叶子结点

root.val不为None即结点存在

 

【Python实现】

# -*-coding: utf-8 -*-"""Createdon Fri Aug 11 16:45:33 2017 @author:Administrator""" #Definition for a binary tree node.classTreeNode(object):     def __init__(self, x):         self.val = x         self.left = None         self.right = None classSolution(object):    def isSameTree(self, p, q):        """        :type p: TreeNode        :type q: TreeNode        :rtype: bool        """        if p is None and q is None:            return True        if p is None or q is None or p.val !=q.val:            return False        return self.isSameTree(p.left, q.left)and self.isSameTree(p.right, q.right)            if__name__ == '__main__':    S = Solution()    l1 = TreeNode(4)    l2 = TreeNode(2)    l3 = TreeNode(6)    l4 = TreeNode(1)    l5 = TreeNode(5)    l6 = TreeNode(3)    l7 = TreeNode(7)          root = l1       l1.left = l2    l1.right = l3       l2.left = l4    l2.right = l5    l3.left = l6    l3.right = l7


    

 

 

 

 

 

  

 

原创粉丝点击