数据结构中心对称判定代码
时间: 2024-04-29 18:17:06 浏览: 18
中心对称判定是指判断一个二叉树是否以其根节点为中心对称的性质。下面是一个示例代码,用于判断一个二叉树是否具有中心对称性:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def isSymmetric(root):
if not root:
return True
return checkSymmetry(root.left, root.right)
def checkSymmetry(left, right):
if not left and not right:
return True
if not left or not right or left.val != right.val:
return False
return checkSymmetry(left.left, right.right) and checkSymmetry(left.right, right.left)
```
在这个代码中,我们定义了一个`TreeNode`类来表示二叉树的节点。`isSymmetric`函数用于判断整个二叉树是否具有中心对称性,它调用了`checkSymmetry`函数来递归地检查左右子树的对称性。
`checkSymmetry`函数用于检查两个节点是否对称。如果两个节点都为空,则认为它们是对称的;如果其中一个节点为空或者两个节点的值不相等,则认为它们不对称;否则,递归地检查左子树的左节点和右子树的右节点,以及左子树的右节点和右子树的左节点是否对称。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)