博客
关于我
[Easy] 100. Same Tree
阅读量:344 次
发布时间:2019-03-04

本文共 746 字,大约阅读时间需要 2 分钟。

判断两个二叉树是否相同,需要确保它们的结构和节点值完全一致。我们可以通过递归的方式来比较这两个二叉树的每个节点。

首先,检查两个节点是否都是空的,如果是,则返回true。如果其中一个为空而另一个不为空,则返回false。接着,比较两个节点的值,如果不相同,返回false。否则,递归地比较左子树和右子树是否相同。

以下是实现代码:

判断两棵二叉树是否相同

给定两个二叉树,判断它们是否相同。两棵二叉树被认为是相同的,如果它们的结构和节点值完全一致。

示例1:

输入:     1    / \   2   3  [1,2,3], [1,2,3]输出: true

示例2:

输入:     1    /     \   2       2  [1,2], [1,null,2]输出: false

示例3:

输入:     1    / \    2   1  [1,2,1], [1,1,2]输出: false

解决方案

class Solution {public:    bool isSameTree(TreeNode* p, TreeNode* q) {        if (p == nullptr && q == nullptr) return true;        if (p == nullptr || q == nullptr) return false;        if (p->val != q->val) return false;        return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);    }}

转载地址:http://sfir.baihongyu.com/

你可能感兴趣的文章
Jquery使用需要下载的文件
查看>>
Spring中如何传递参数的问题
查看>>
Ajax中get方式url传递中文参数乱码的解决
查看>>
BST中某一层的所有节点(宽度优先搜索)
查看>>
广度优先搜索
查看>>
安装Rose-2003版本报错-java.lang.ClassNotFoundException
查看>>
对于递归的理解
查看>>
二分查找(递归)
查看>>
猜字母
查看>>
Eclipse导出项目出现resource is out of sync with the file...错误
查看>>
奇怪的分式(枚举 + 判断)
查看>>
Linux网络环境配置(设置ip地址)
查看>>
Idea使用Spring Initializr来快速创建springboot项目
查看>>
C++邻接表存储图的深度优先搜索
查看>>
C++实现Dijkstra算法(单源路径最短算法)
查看>>
Dijkstra算法输出最短路径
查看>>
Dijkstra算法的总结
查看>>
zoj 3964 - Yet Another Game of Stones
查看>>
前后端通信问题 —— SpringBoot+LayUI
查看>>
ubuntu中安装scikit-learn
查看>>