删除二叉树的子树:假设二叉树中的结点均不相等,采用二叉链存储,设计递归算法删除根结点值为x的子树。
时间: 2023-05-17 16:04:35 浏览: 72
递归删除二叉树中以x为根的子树
以下是删除二叉树子树的递归算法:
void deleteSubtree(TreeNode* root, int x) {
if (root == NULL) {
return;
}
if (root->val == x) {
deleteTree(root);
return;
}
deleteSubtree(root->left, x);
deleteSubtree(root->right, x);
}
其中,deleteTree() 是删除整棵树的函数,可以使用后序遍历实现。
阅读全文