最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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”,全部都是干貨。


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

分享到微博請遵守國家法律
光山县| 泸水县| 洮南市| 大冶市| 虎林市| 泾源县| 安国市| 左权县| 内丘县| 根河市| 四子王旗| 泉州市| 大渡口区| 花垣县| 通许县| 大埔区| 酒泉市| 玉溪市| 桃源县| 萍乡市| 甘孜县| 汝南县| 古浪县| 龙门县| 浦东新区| 彩票| 广汉市| 通山县| 平定县| 荔波县| 大田县| 中卫市| 静海县| 定日县| 章丘市| 墨江| 长葛市| 台东县| 九江县| 玉门市| 历史|