二叉树基础算法--判断两棵二叉树是否相同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树基础算法--判断两棵二叉树是否相同相关的知识,希望对你有一定的参考价值。

 

https://leetcode.com/problems/same-tree/

 1 /**
 2  * Definition for a binary tree node.
 3  * struct TreeNode {
 4  *     int val;
 5  *     TreeNode *left;
 6  *     TreeNode *right;
 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 8  * };
 9  */
10 class Solution {
11 public:
12     bool isSameTree(TreeNode* p, TreeNode* q) {
13         //均为空相同
14         if (p == NULL && q == NULL)
15             return true;
16         
17         //其一为空不同
18         if (p == NULL || q == NULL)
19             return false;
20         
21         //值不相等不同
22         if (p->val != q->val)
23             return false;
24         
25         //比较左右子树是否相同
26         return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
27     }
28 };

 

以上是关于二叉树基础算法--判断两棵二叉树是否相同的主要内容,如果未能解决你的问题,请参考以下文章

如何判断两棵二叉树是否相等

给定两棵二叉树,检查它们是否是相同的二叉树

LeetCode 100. Same Tree 判断两棵二叉树是否相等

算法框架之二叉树扩展&二叉搜索树

⭐算法入门⭐《二叉树》简单02 —— LeetCode 100. 相同的树

二叉树