劍指offer 二叉樹 序列化二叉樹

2021-08-07 05:26:43 字數 630 閱讀 3294

##題目描述

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

##解題思路

1,序列化和反序列化都可以通過前序遍歷(根左右)來進行

2,序列化遇到null用「#」來標明

3,反序列化的時候遇到「#」則停止

##**

/**

* */

package 二叉樹;

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

* *

*/public class serializeanddeserialize

return sb.tostring(); }

public int index =-1;

public treenode deserialize(string str)

string strs = str.split(","); //把字串按照「,」分隔開

treenode node =null;

if(!strs[index].equals("#"))

return node;

} public static void main(string args)

}

劍指offer 序列化二叉樹(二叉樹)

請實現兩個函式,分別用來序列化和反序列化二叉樹 將問題分解為左子樹 根節點 右子樹分別進行遞迴處理。序列化是從根開始的,那麼對應的反序列化在根節點的先序遍歷中就可以得到。用 表示遍歷過程中的nullptr,通過先序遍歷得到序列。如 0,1,3,2,4,5,反序列化 如上式,首先得到數字0,作為根節點...

劍指offer 序列化二叉樹

請實現兩個函式,分別用來序列化和反序列化二叉樹。首先得理解題目的意思,序列化就是返回乙個帶有 和逗號的字串。反序列化就是根據帶有 和逗號的字串返回一棵二叉樹。比如對於二叉樹 1 2 3 4 5 6 7來講,序列化的結果是1,2,3,4,7,5,而反序列化的結果則是輸出一棵二叉樹。public cla...

劍指Offer 序列化二叉樹

請實現兩個函式,分別用來序列化和反序列化二叉樹 根據前面的面試題重建二叉樹,我們知道可以從前序遍歷和中序遍歷構造出一棵二叉樹。受此啟發,我們可以先把一棵二叉樹序列化成乙個前序遍歷序列和乙個中序序列的結合,然後再反序列化時通過這兩個序列重構出原二叉樹。但是這個思路有兩個缺點。乙個缺點是該方法要求二叉樹...