我是靠谱客的博主 有魅力毛巾,最近开发中收集的这篇文章主要介绍Leetcode No.100 相同的树,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、题目描述

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。

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

示例 1:
输入:p = [1,2,3], q = [1,2,3]
输出:true

示例 2:
输入:p = [1,2], q = [1,null,2]
输出:false

示例 3:
输入:p = [1,2,1], q = [1,1,2]
输出:false

提示:
两棵树上的节点数目都在范围 [0, 100] 内
-104 <= Node.val <= 104

二、解题思路:深度优先遍历

如果两个二叉树都为空,则两个二叉树相同。如果两个二叉树中有且只有一个为空,则两个二叉树一定不相同。

如果两个二叉树都不为空,两棵二叉树相同需要满足三个条件

1、根节点值相同

2、左子树相同

3、右子树相同

其中2,3条件可以通过递归来检验

三、代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullp

最后

以上就是有魅力毛巾为你收集整理的Leetcode No.100 相同的树的全部内容,希望文章能够帮你解决Leetcode No.100 相同的树所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部