日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > 序列化二叉樹

序列化二叉樹

來源:程序員人生   發(fā)布時(shí)間:2016-07-04 16:15:12 閱讀次數(shù):2431次

題目

請(qǐng)實(shí)現(xiàn)兩個(gè)函數(shù),分別用來序列化和反序列化2叉樹

解題

甚么是序列化?
可以理解為1直存儲(chǔ)結(jié)構(gòu)
序列化后還要可以反序列化
對(duì)樹的序列號(hào),可以理解為層次遍歷,但是也要記錄其中的空結(jié)點(diǎn),這是為了能夠回去

我們知道可以從前序遍歷和中序遍歷構(gòu)造出1棵2叉樹。受此啟發(fā),我們可以先把1棵2叉樹序列化成1個(gè)前序遍歷序列和1個(gè)中序序列,然后再反序列化時(shí)通過這兩個(gè)序列重構(gòu)出原2叉樹。

這個(gè)思路有兩個(gè)缺點(diǎn)。1個(gè)缺點(diǎn)是該方法要求2叉樹中不能用有數(shù)值重復(fù)的結(jié)點(diǎn)。另外只有當(dāng)兩個(gè)序列中所有數(shù)據(jù)都讀出后才能開始反序列化。如果兩個(gè)遍歷序列的數(shù)據(jù)是從1個(gè)流里讀出來的,那便可能需要等較長的時(shí)間。

實(shí)際上如果2叉樹的序列化是從根結(jié)點(diǎn)開始的話,那末相應(yīng)的反序列化在根結(jié)點(diǎn)的數(shù)值讀出來的時(shí)候就能夠開始了。因此我們可以根據(jù)前序遍歷的順序來序列化2叉樹,由于前序遍歷是從根結(jié)點(diǎn)開始的。當(dāng)在遍歷2叉樹碰到 NULL 指針時(shí),這些 NULL 指針序列化成1個(gè)特殊的字符(比如‘#’)。另外,結(jié)點(diǎn)的數(shù)值之間要用1個(gè)特殊字符(比如’,’)隔開。

public class Solution { String Serialize(TreeNode root) { if(root == null) return ""; StringBuilder sb = new StringBuilder(); Serialize(root, sb); return sb.toString(); } void Serialize(TreeNode root, StringBuilder sb) { if(root == null) { sb.append("#,"); return; } sb.append(root.val); sb.append(','); Serialize(root.left, sb); Serialize(root.right, sb); } int index = -1; TreeNode Deserialize(String str) { if(str.length() == 0) return null; String[] strs = str.split(","); return Deserialize(strs); } TreeNode Deserialize(String[] strs) { index++; if(!strs[index].equals("#")) { TreeNode root = new TreeNode(0); root.val = Integer.parseInt(strs[index]); root.left = Deserialize(strs); root.right = Deserialize(strs); return root; } return null; } }
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产黄色在线播放 | 99久久99热这里只有精品 | 欧美一区二区三区四区在线观看 | av天天干 | 欧美福利一区 | 久久成人免费网 | 国产一区精品在线 | 精品视频免费观看 | 久久久国产精华 | 欧美色久 | 亚洲午夜视频在线观看 | 久久久久久成人 | 蜜桃视频一区二区 | 粉嫩久久99精品久久久久久夜 | 日产精品久久久一区二区 | 国产三区精品 | 欧美一区在线视频 | 亚洲精品之草原avav久久 | 91免费版在线| 午夜一二区 | 亚洲国产成人精品久久久国产成人一区 | 国内视频一区 | 一级特黄a免费观看视频 | 国产精品性 | 久久成人免费视频 | 国产精品精品久久久 | 成人在线观看视频网站 | xxxx网 | 不卡一区二区三区四区 | 久久性 | 成人av福利 | 久久久久久久久网站 | 91嫩草影院在线观看 | 成人二区 | 一区二区视频在线 | 91日韩在线 | av无遮挡 | 亚洲v国产v | 亚洲一区 在线播放 | 久久国产视屏 | 日韩免费高清视频 |