给定一棵用二叉链表表示的二叉树,其根指针为 root,试写出将二叉树中所有结的左、右子树相互交换的算法。
时间: 2023-06-12 11:01:56 浏览: 93
左、右子树交换算法
好的,我可以为您提供这个算法,以下是代码实现:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def invertTree(root: TreeNode) -> TreeNode:
if not root:
return None
# 递归左右子树
left = invertTree(root.left)
right = invertTree(root.right)
# 交换左右子树
root.left = right
root.right = left
return root
```
这个算法使用了递归的思想,可以将二叉树中所有节点的左右子树相互交换。您可以将该代码添加到您的项目中,并使用它交换二叉树中所有节点的左右子树。希望以上信息能够帮助到您!
阅读全文