递归输入二叉树示例
递归创建二叉树通常结合先序遍历输入配合特殊标志符(如-1)表示空节点。例如:
TreeNode* createTree() {
int val;
scanf("%d", &val);
if(val == -1) return NULL;
TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode));
node->data = val;
node->left = createTree();
node->right = createTree();
return node;
}
这样用户依次输入先序节点值,并以-1表示该位置无节点,递归函数即可建立整棵树。