C语言实现二叉树左右子树交换操作
时间: 2023-10-31 21:05:35 浏览: 157
用C语言实现的二叉树操作
4星 · 用户满意度95%
二叉树左右子树交换操作可以通过递归实现。具体思路如下:
1. 首先判断当前节点是否为空,如果为空则直接返回。
2. 如果不为空,则交换当前节点的左右子树。
3. 对当前节点的左右子树分别递归执行上述操作,直到节点为空。
下面是 C 语言实现的代码:
```c
void swap(TreeNode *root) {
if (root == NULL) {
return;
}
TreeNode *temp = root->left;
root->left = root->right;
root->right = temp;
swap(root->left);
swap(root->right);
}
```
其中 TreeNode 表示二叉树节点的结构体,包含 left 和 right 分别表示左右子树。
使用这个函数,可以将一个二叉树的左右子树全部交换。
阅读全文