BUG未解之谜01-指针引用之谜

在leetcode里面刷题出现的问题,当我在sortedArrayToBST里面给root赋予初始值NULL之后,问题得到解决!

理论上root是未初始化的变量,然后我进入insert函数之后,root引用的内容也是未知值,因此无法给原来的二叉树完成初始化!

本题解决方案要么是给root赋予NULL初始值,要么是去掉if(!root)这一行!

cpp 复制代码
class Solution {
public:
    TreeNode* sortedArrayToBST(vector<int>& nums) {
        TreeNode* root;
        int sz=nums.size();
        insert(nums,root,0,sz-1);
        return root;
    }
    void insert(vector<int>& v,TreeNode*& root, int l,int r){
        if(l<=r){
            int mid=(l+r)/2;
            if(!root)
                root=new TreeNode(v[mid]);
            insert(v,root->left,l,mid-1);
            insert(v,root->right,mid+1,r);
        }
    }

};
相关推荐
爱编程的鱼2 天前
想学编程作为今后的工作技能,学哪种语言适用性更强?
开发语言·算法·c#·bug
拽着尾巴的鱼儿2 天前
fixed-bug:JPA 关联关系的对象序列化循环引用问题
spring·bug·jpa
南汐以墨2 天前
BUG与测试用例
测试用例·bug
Mr. zhihao3 天前
Java 反序列化中的 boolean vs Boolean 陷阱:一个真实的 Bug 修复案例
java·bug·lua
初圣魔门首席弟子3 天前
vscode多文件编程bug记录
java·vscode·bug
-雷阵雨-4 天前
软件测试全解析:Bug生命周期与争议解决
bug
南林yan4 天前
Bug: 升级内核后有线网络无法使用
bug
月巴月巴白勺合鸟月半4 天前
一个DevExpress的Docx文件处理的Bug的解决
c#·bug
ao_lang4 天前
软件测试-BUG篇
bug
技术小黑屋_4 天前
Vibe Coding 真正的问题并不是 Bug
bug