欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode 101.对称二叉树

程序员文章站 2022-03-26 21:36:36
...

leetcode 101.对称二叉树
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);
	}