国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

序列化二叉樹

2019-11-08 03:01:18
字體:
供稿:網(wǎng)友

題目描述

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

算法解析: 我們序列化后的字符串以根節(jié)點(diǎn)為開始,并且希望可以完美的描述二叉樹,所以我們將null結(jié)點(diǎn)作為”$”傳入,最后利用前序遍歷形成字符串,反序列就是利用前序遍歷的方式生成該樹,注意的是,這里我們要傳入?yún)?shù)的時(shí)候,應(yīng)該利用數(shù)組是引用類型這個(gè)特性。

代碼如下:

String Serialize(TreeNode root) { StringBuilder builder = new StringBuilder(); if (root == null){ builder.append("$,"); }else{ builder.append(root.val); builder.append(","); builder.append(Serialize(root.left)); builder.append(Serialize(root.right)); } return builder.toString(); } TreeNode Deserialize(String str) { String [] datas = str.split(","); int[] pos = new int[1]; return Deserialize(datas, pos); } TreeNode Deserialize(String [] datas, int[] pos) { TreeNode root; if (pos[0] == datas.length){ return null; } String data = datas[pos[0]]; if (data.compareTo("$") == 0){ root = null; }else { root = new TreeNode(Integer.valueOf(data)); pos[0] ++; root.left = Deserialize(datas, pos); pos[0] ++; root.right = Deserialize(datas, pos); } return root; }
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 兴文县| 杂多县| 丹凤县| 彭阳县| 宁波市| 普陀区| 安平县| 常山县| 长顺县| 灌南县| 德钦县| 山阳县| 山阴县| 兰溪市| 长乐市| 沙洋县| 湖口县| 本溪| 通渭县| 民丰县| 舞阳县| 扬州市| 筠连县| 凤庆县| 永泰县| 文安县| 绥阳县| 青冈县| 郓城县| 桐柏县| 安达市| 罗源县| 凤山市| 河曲县| 长治县| 礼泉县| 肇源县| 麻江县| 平顺县| 左权县| 承德市|