美文网首页
100.相同的数

100.相同的数

作者: qiHuang112 | 来源:发表于2020-01-07 08:41 被阅读0次

题目#100.相同的数

给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

示例 1:

示例 1

示例 2:

示例 2

示例 3:

示例 3

题目分析

判断两个树是否相同,只需要判断根节点是否值相同,左右子节点是否相同即可,而左右子节点可以使用递归的形式进行判断,所以代码如下:

代码

fun isSameTree(p: TreeNode?, q: TreeNode?): Boolean {
    if (p == null && q == null) return true
    if (p == null || q == null) return false
    return p.`val` == q.`val` && isSameTree(p.left, q.left) && isSameTree(p.right, q.right)
}

代码分析

对于判断两个树是否相同,有三种情况可以分情况讨论。

  • 两个树同时为空,则两个树相同if (p == null && q == null) return true
  • 两个树有且仅有一个为空,则两个树不同if (p == null || q == null) return false
  • 否则判断根节点值以及左右子树return p.`val` == q.`val` && isSameTree(p.left, q.left) && isSameTree(p.right, q.right)

相关文章

  • 100.相同的数

    题目#100.相同的数 给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的...

  • python实现leetcode之100. 相同的树

    解题思路 左右子树递归相同,并且根节点值相同,就是相同,否则不同 100. 相同的树[https://leetco...

  • 100. 相同的树

    题目 思路 题目不难,判断两个二叉树是否相等,只需要判断三个条件: 两个根结点的val相等两个左结点相等两个右结点...

  • 100.相同的树

    题目给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相...

  • 100. 相同的树

    给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

  • 100. 相同的树

    文|Seraph 01 | 问题 给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点...

  • 100.相同的树

    给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

  • 100. 相同的树

    一 .题目: 二 .思路: 递归保证每个结点都相同即可 三. 代码:

  • 100. 相同的树

    1.题目 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节...

  • LeetCode:100. 相同的树

    问题链接 100. 相同的树[https://leetcode.cn/problems/same-tree/] 问...

网友评论

      本文标题:100.相同的数

      本文链接:https://www.haomeiwen.com/subject/eqlkactx.html