• 2023-09-04力扣每日一题


    链接:

    449. 序列化和反序列化二叉搜索树

    题意:

    把一个二叉搜索树变成字符串,还要能变回来

    解:

    剑指 Offer 37. 序列化二叉树差不多,那个是二叉树的序列化/反序列化-Hard

    直接CV了,懒: (`

    如果是二叉搜索树的话,就相当于知道了中序遍历,前序/后序弄一个就行

    实际代码:

    string int2string(int x)
    {
        string ret;
        if(x==0) return "0";
        while(x)
        {
            ret=char('0'+x%10)+ret;
            x/=10;
        }
        return ret;
    }
    int string2int(string s)
    {
        int ret=0;
        for(auto &ch:s)
        {
            ret=ret*10+int(ch-'0');
        }
        return ret;
    }
    void node2string(string& s,TreeNode* root)
    {
        s.append(int2string(root->val));
        if(root->left!=nullptr)
        {
            s.append(",");
            node2string(s,root->left);
        }
        else s.append(",N");
        if(root->right!=nullptr)
        {
            s.append(",");
            node2string(s,root->right);
        }
        else s.append(",N");
    }
    string serialize(TreeNode* root)
    {
        string tree;
        if(root==nullptr) return tree;
        node2string(tree,root);
        //cout<<"tree:"<left=nullptr;
        else
        {
            root->left=new TreeNode(string2int(s));
            string2node(root->left,data);
        }
        r=0;
        while(rright=nullptr;
        else
        {
            root->right=new TreeNode(string2int(s));
            string2node(root->right,data);
        }
    }
    TreeNode* deserialize(string data)
    {
        TreeNode* newHead=nullptr;
        if(data.empty()) return newHead;
        
        string s;int r=0;
        while(r
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78

    限制:

    • 树中节点数范围是 [0, 104]
    • 0 <= Node.val <= 104
    • 题目数据 保证 输入的树是一棵二叉搜索树。
  • 相关阅读:
    Linux上通过mysqldump命令实现自动备份
    物流快递信息查询管理系统网站(JSP+HTML+MySQL)
    旅游旅行网站html+css+javascript 10个页面适用学生作业
    java算法之排序算法大全
    基于 chinese-roberta-wwm-ext 微调训练中文命名实体识别任务
    DevExpress WinForms是一款全球顶级的用户界面控件套包
    19 06-读取DTC扩展数据记录
    亚马逊筋膜枪UL1647测试报告流程介绍
    浅析即时通讯开发前置 HTTP SSO 单点登陆接口的原理
    云原生|kubernetes 你真的学废了吗---实战k8s 二(命令行创建各类资源)
  • 原文地址:https://blog.csdn.net/Fei_WuYan/article/details/132679274