zoukankan      html  css  js  c++  java
  • 449 Serialize and Deserialize BST 序列化和反序列化二叉搜索树

    详见:https://leetcode.com/problems/serialize-and-deserialize-bst/description/

    C++:

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Codec {
    public:
    
        // Encodes a tree to a single string.
        string serialize(TreeNode* root) {
            ostringstream os;
            serializeHelper(root,os);
            return os.str();
        }
    
        // Decodes your encoded data to tree.
        TreeNode* deserialize(string data) {
            istringstream is(data);
            return deserializeHelper(is);
        }
        void serializeHelper(TreeNode* root,ostringstream &os)
        {
            if(!root)
            {
                os<<"# ";
            }
            else
            {
                os<<root->val<<" ";
                serializeHelper(root->left,os);
                serializeHelper(root->right,os);
            }
        }
        TreeNode* deserializeHelper(istringstream &is)
        {
            string val;
            is>>val;
            if(val=="#")
            {
                return nullptr;
            }
            TreeNode* node=new TreeNode(stoi(val));
            node->left=deserializeHelper(is);
            node->right=deserializeHelper(is);
            return node;
        }
    };
    
    // Your Codec object will be instantiated and called as such:
    // Codec codec;
    // codec.deserialize(codec.serialize(root));
    

     参考:https://www.cnblogs.com/grandyang/p/6224510.html

  • 相关阅读:
    OpenSLAM
    CAD&CG GDC 2018大会论文录用名单
    hdu4328(经典dp用悬线法求最大子矩形)
    hdu3729(二分图)
    hdu 4055(经典问题)
    Codeforces Round #207 (Div. 1) B (gcd的巧妙运用)
    hdu1066(经典题)
    zoj3662(dp)
    zoj3659(经典并查集)
    hdu4565(矩阵快速幂+经典的数学处理)
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8900903.html
Copyright © 2011-2022 走看看