首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >20190503-相同的树

20190503-相同的树

作者头像
py3study
发布2020-01-16 12:54:11
发布2020-01-16 12:54:11
5900
举报
文章被收录于专栏:python3python3

相同的树

难度分类

简单

题目描述

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

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

示例 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

算法

采用层序遍历只要结构或值不相等就返回False,使用递归解该题具体思路如下:

  1. 递归的结束条件:当比较的treeNode的值都为None的时候返回True
  2. 递归条件:比较2个treeNode的val,当val相等的时候比较2个TreeNode的左子树和右子树

考点

  1. 递归
  2. And运算

代码

代码语言:javascript
复制
def isSameTree(p, q):
    if p is None and q is None:
        return True
    else:
        if p and q:
            if p.val == q.val:#判断当前树节点的值是否相等
                return isSameTree(p.left, q.left) and isSameTree(p.right, q.right)
            else:
                return False#如果不相等,则返回False
        else:
            return False
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/06/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 相同的树
    • 难度分类
    • 题目描述
    • 算法
    • 考点
    • 代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档