设二叉树中每个结点的元素均为一个字符,按先序遍历的顺序建立二叉链表,编写递归算法交换该二叉树的左右孩子。
时间: 2023-04-28 19:01:28 浏览: 395
设一棵二叉树以二叉链表表示,试编写有关二叉树的递归算法
5星 · 资源好评率100%
算法步骤:
1. 如果当前节点为空,直接返回。
2. 交换当前节点的左右孩子。
3. 递归交换当前节点的左子树。
4. 递归交换当前节点的右子树。
代码实现:
void swap(TreeNode* root) {
if (root == nullptr) {
return;
}
TreeNode* temp = root->left;
root->left = root->right;
root->right = temp;
swap(root->left);
swap(root->right);
}
阅读全文