LeetCode--100--相同的树

news/2025/2/8 17:13:53

问题描述:

给定两个二叉树,编写一个函数来检验它们是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

示例 1:

输入:       1         1
          / \       / \
         2   3     2   3

        [1,2,3],   [1,2,3]

输出: true

示例 2:

输入:      1          1
          /           \
         2             2

        [1,2],     [1,null,2]

输出: false

示例 3:

输入:       1         1
          / \       / \
         2   1     1   2

        [1,2,1],   [1,1,2]

输出: false
方法1:
 1 class Solution:
 2     def isSameTree(self, p, q):
 3         """
 4         :type p: TreeNode
 5         :type q: TreeNode
 6         :rtype: bool
 7         """
 8         if not p or not q:
 9             return p == q
10         left = self.isSameTree(p.left,q.left)
11         right = self.isSameTree(p.right,q.right)
12         return p.val == q.val and left and right  

前序遍历:

 1 class Solution:
 2     def isSameTree(self, p, q):
 3         """
 4         :type p: TreeNode
 5         :type q: TreeNode
 6         :rtype: bool
 7         """
 8         if p==None and q==None:
 9             return True
10         if p==None:
11             return False
12         if q==None:
13             return False
14         
15         self.ans = True
16         self.preorder(p,q)
17         
18         return self.ans
19     
20     def preorder(self, p, q):
21         if p and q:
22             if p.val != q.val:
23                 self.ans = False
24                 return
25             self.preorder(p.left, q.left)
26             self.preorder(p.right, q.right)
27         elif q or q:
28             self.ans = False
29             return

 

2018-09-02 16:30:45

转载于:https://www.cnblogs.com/NPC-assange/p/9574265.html


http://www.niftyadmin.cn/n/2747034.html

相关文章

甘肃电大c语言考试题答案,2017年电大C语言程序设计期末考试复习题及答案.doc...

C语言考试期末考试复习题及答案选择题一个C语言程序总是从( )开始执行书写顺序的第一个函数书写顺序的第一条执行语句主函数main( )不确定设int x3,y4,z5,则下列表达式中的值为0的是 ( )A) ‘x’&&’y’B) x||yz&&y-z C) x&l…

关于闭包即双层装饰器的理解

** 闭包**:就是一个概念,出现在嵌套函数中,指的是内层函数引用到了外层函数的**自由变量**(未在本地作用域中定义的局部变量),就形成了闭包。函数的局部作用域是不能够保存信息的,即在函数内部声明变量在函数调用结束之…

(转) 网站统计中的数据收集原理及实现

原文地址:http://blog.codinglabs.org/articles/how-web-analytics-data-collection-system-work.html 网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计和腾讯分析等等。所有这些统计分析工具的第一步都是网…

c语言程序设计 对单词排序,C语言课程设计英语词典排版系统.doc

C语言课程设计院系:姓名:学号:班号:指导教师:日期:2010年9月第一部分1.设计题目:一种简单份的英文词典排版系统2实践目的通过进行计算机实践,更加系统地理解和掌握C语言的基本概念、…

Docker学习——Kubernetes(八)

2019独角兽企业重金招聘Python工程师标准>>> 在线阅读:GitBook 下载:pdfKubernetes 是 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统,它不仅支持常见的云平台,而且支持内部数据中心。 建于 Docker 之上…

c语言数据类型和运算符,C语言基础知识——数据类型和运算符.doc

C语言基础知识——数据类型和运算符C语言慨述1.标识符C 规定,标识符只能是字母数字、下划线组成的字符串,并且其第一个字符必须是字母或下划线。在使用标识符时还必须注意以下几点:(1)标准C不限制标识符的长度,但它受各种版本的C …

c语言 在有n个元素的数组s中查找书名为a的书,C语言考试题库及答案

/************found************/ for(i1; ___(1)___;i)for(i1;ia[i]) a[M-1]a[i];printf(\ }10、在考生文件夹下,给定程序FILL.C的功能是: 统计一维数组a中素数的个数。例如:如果数组a的元素为:2,3,5,7,8,9,10,11,12,13&#xff…

《Web 推送通知》系列翻译 | 第九篇:通知行为 第十篇:常用的通知模式

第九篇:通知行为 原文地址:notification behaviour 译文地址:通知行为 译者:任家乐 校对者:刘文涛、杨芯芯 到此为止,我们已经浏览了可以改变通知样式的选项,除了样式,我们还可以通过…