一棵二叉树对称,就是说它如果以根为轴,翻转过去一样,如下图所示,以虚线为轴,把左边翻转到右边,各顶点及顶点中的值一一对应。
注意,它并不要求单独看子树的时候子树也是对称的,如下图,单独看左子树时,左子树是不对称的,单独看右子树时,右子树也是不对称的,但这棵本身是对称的。
要判断一棵二叉树是否对称,那就是判断它的左子树翻转过去是否和右子树一样,注意这里的“一样”包括了值也一样。
下面给出代码,其中的例子中的树,就是第一张图中的那棵树:
本文探讨如何使用C++判断一棵二叉树是否对称,重点在于理解对称性的定义,即左右子树翻转后顶点及其值一一对应。通过实例代码解析,帮助理解算法思路,并提醒在比较时要注意节点值的相等性。
一棵二叉树对称,就是说它如果以根为轴,翻转过去一样,如下图所示,以虚线为轴,把左边翻转到右边,各顶点及顶点中的值一一对应。
注意,它并不要求单独看子树的时候子树也是对称的,如下图,单独看左子树时,左子树是不对称的,单独看右子树时,右子树也是不对称的,但这棵本身是对称的。
要判断一棵二叉树是否对称,那就是判断它的左子树翻转过去是否和右子树一样,注意这里的“一样”包括了值也一样。
下面给出代码,其中的例子中的树,就是第一张图中的那棵树:
1329
800

被折叠的 条评论
为什么被折叠?