[Easy] 100. Same Tree
发布日期:2021-05-07 18:21:12 浏览次数:9 分类:精选文章

本文共 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);    }}
上一篇:[Easy] 101. Symmetric Tree
下一篇:[Easy] 88. Merge Sorted Array

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月09日 15时04分47秒