笔试题——对称二叉树

判断一颗二叉树是否是对称二叉树

对称二叉树意识就是以根节点为对称轴,对称轴两边的节点完全相同,例如:

笔试题——对称二叉树_第1张图片

 可以看出左边的是对称二叉树,右边的不是对称二叉树(其中有一个节点值不同),代码:

bool IssymmetryBintree(BinTreeNode *left, BinTreeNode *right)
{//对称二叉树
	if (left == NULL && right == NULL)
	{//两者均为NULL说明遍历到叶子节点了
		return true;
	}
	if (left == NULL || right ==NULL)
	{// 其中一个为NULL,不对称
		return false;
	}
		
	if (left && right && left->_value != right->_value)
	{//值不相等,不对称
		return false;
	}

	IssymmetryBintree(left->left, right->right);
	IssymmetryBintree(left->right, right->left);
}


你可能感兴趣的:(笔试题)