leetcode-序列化二叉树-85

Posted 天津 唐秙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-序列化二叉树-85相关的知识,希望对你有一定的参考价值。

题目要求

代码实现

/*
struct TreeNode 
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) 
    
;
*/
class Solution 
public:
    char* Serialize(TreeNode *root)     
        if(!root)
            return "#";
    
        string res = to_string(root->val);
        res.push_back(',');
    
        char* left = Serialize(root->left);
        char* right = Serialize(root->right);
    
        char* ret = new char[strlen(left) + strlen(right) + res.size()];
    
        strcpy(ret, res.c_str());
	    strcat(ret, left);
        strcat(ret, right);
    
        return ret;
    

    TreeNode* deseri(char *&s)
    
        if(*s == '#')
        
            s++;
            return nullptr;
        
    
        //构造根节点的值
        int num = 0;
        while(*s != ',')
        
            num = num * 10 + (*s - '0');
            s++;
        
        s++;
    
        //递归构造树
        TreeNode* root = new TreeNode(num);
        root->left = deseri(s);
        root->right = deseri(s);
    
        return root;
    
    
    TreeNode* Deserialize(char *str) 
        return deseri(str);
    
;

以上是关于leetcode-序列化二叉树-85的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 297 二叉树的序列化与反序列化[BFS 二叉树] HERODING的LeetCode之路

LeetCode 297. 二叉树的序列化与反序列化(bfs,二叉树,Java)

LeetCode 剑指 Offer 37. 序列化二叉树

算法19:LeetCode_二叉树序列化与反序列化(层序)

LeetCode 449 序列化和反序列化二叉搜索树[二叉树 序列化 前序 中序 后序] HERODING的LeetCode之路

LeetCode 297.序列化二叉树 - JavaScript