劍指offer 程式設計題(58) 序列化二叉樹

2021-08-14 05:53:52 字數 642 閱讀 2739

請實現兩個函式,分別用來序列化和反序列化二叉樹

class

solution

str+=to_string(root->val);

str+=',';

serializehelper(root->left);

serializehelper(root->right);

return

str;

}treenode* deserializehelper(string &str)

treenode *proot=new treenode(stoi(str));//stoi:string轉int,後面出現逗號被截斷,只轉換當前數字字元

str=str.substr(str.find_first_of(',')+1);//跳過下乙個逗號擷取

proot->left=deserializehelper(str);//重建左子樹

proot->right=deserializehelper(str);//重建右子樹

return proot;

}char* serialize(treenode *root)

treenode* deserialize(char *str)

};

劍指 offer 刷題(21) 序列化二叉樹

請實現兩個函式,分別用來序列化和反序列化二叉樹 二叉樹的序列化是指 把一棵二叉樹按照某種遍歷方式的結果以某種格式儲存為字串,從而使得記憶體中建立起來的二叉樹可以持久儲存。序列化可以基於先序 中序 後序 層序的二叉樹遍歷方式來進行修改,序列化的結果是乙個字串,序列化時通過 某種符號表示空節點 以 表示...

劍指Offer 37 序列化與反序列化二叉樹

題目描述 請實現兩個函式,分別用來序列化和反序列化二叉樹。示例 你可以將以下二叉樹 1 2 3 4 5 序列化為 1,2,3,null,null,4,5 序列化的形式不定,最終需要達到的效果是deserialize serialize root 可以還原原來的樹。思路序列化的順序顯然為層序遍歷,因此...

劍指Offer 37 序列化二叉樹

請實現兩個函式,分別用來序列化和反序列化二叉樹 例 樹 1 2 3 4 5 6 序列化 1,2,4,3,5,6,容易發現序列化其實就是帶none的前序遍歷。所以題目就是完成乙個前序遍歷將節點值存入列表,遍歷列表按前序生成一棵二叉樹。時間複雜度 o n 空間複雜度 o n from datstru i...