1. 程式人生 > >leetcode 101.對稱二叉樹

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);
	}