国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

算法:序列化二叉樹

2022-09-28 15:17 作者:做架構(gòu)師不做框架師  | 我要投稿


請實現(xiàn)兩個函數(shù),分別用來序列化和反序列化二叉樹。


你需要設計一個算法來實現(xiàn)二叉樹的序列化與反序列化。這里不限定你的序列 / 反序列化算法執(zhí)行邏輯,你只需要保證一個二叉樹可以被序列化為一個字符串并且將這個字符串反序列化為原始的樹結(jié)構(gòu)。


示例

  • 輸入:root = [1,2,3,null,null,4,5]

  • 輸出:[1,2,3,null,null,4,5]


方法:層序遍歷BFS

序列化:

借助隊列,對二叉樹進行層序遍歷,而且為了表示二叉樹的完整性,我們也會把 null 節(jié)點也記錄下來。


代碼如下:

復雜度分析

  • 時間復雜度:O(N),N為二叉樹的節(jié)點數(shù)。

  • 空間復雜度:O(N) 。


反序列化:

序列化后的字符串為“[1,2,3,null,null,4,5,null,null,null,null]”,歸納整理為下表:

代碼如下:

復雜度分析

  • 時間復雜度:O(N) ,N 為二叉樹的節(jié)點數(shù)。

  • 空間復雜度: O(N) 。


END

勤奮是成功之母,懶惰乃萬惡之源,贈友人。

好兄弟可以點贊并關(guān)注我的公眾號“javaAnswer”,全部都是干貨。


算法:序列化二叉樹的評論 (共 條)

分享到微博請遵守國家法律
班戈县| 铜陵市| 五指山市| 浮梁县| 抚松县| 密山市| 东乡族自治县| 罗山县| 会昌县| 博湖县| 呼和浩特市| 台东市| 阿拉善右旗| 凤翔县| 额济纳旗| 桂平市| 静宁县| 乌海市| 连云港市| 江安县| 黄龙县| 正定县| 武川县| 达孜县| 阜新| 澎湖县| 光山县| 元氏县| 应城市| 珠海市| 竹溪县| 旌德县| 喜德县| 柘城县| 烟台市| 平顺县| 定州市| 四川省| 东至县| 恩施市| 石林|