leetcode 101.对称二叉树
程序员文章站
2022-03-26 21:36:36
...
1.一个二叉树是对称的当且仅当根节点的左子树和右子树是镜像对称的。
2.两个二叉树镜像对称当且仅当一个二叉树的左子树与另一个二叉树的右子树镜像对称,同时该二叉树的右子树与另一二叉树的左子树镜像对称。
bool isSymmetric(TreeNode *root)
{
if (root == nullptr)
{
return true;
}
return isSymmetric_extern(root->left, root->right);
}
bool isSymmetric_extern(TreeNode *root1, TreeNode *root2)
{
if (root1 == nullptr&&root2 == nullptr)
{
return true;
}
if ((root1 == nullptr&&root2 != nullptr) || root1 != nullptr&&root2 == nullptr)
{
return false;
}
if (root1->val != root2->val)
{
return false;
}
return isSymmetric_extern(root1->left, root2->right) && isSymmetric_extern(root1->right, root2->left);
}
推荐阅读
-
二叉树(LeetCode) C++相关知识代码 系列1
-
荐 八十一、Python | Leetcode 二叉树系列(下篇)
-
2018NOIP普及T4---对称二叉树
-
PHP实现判断二叉树是否对称的方法
-
python数据结构(对称二叉树递归和迭代)
-
C++实现LeetCode(105.由先序和中序遍历建立二叉树)
-
C++实现LeetCode(889.由先序和后序遍历建立二叉树)
-
C++实现LeetCode(106.由中序和后序遍历建立二叉树)
-
leetcode 面试题32 (剑指offer)- II. 从上到下打印二叉树 II(python3)
-
leetcode 113 剑指offer 面试题34. 二叉树中和为某一值的路径(python3)