国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 乌拉特中旗| 来宾市| 郎溪县| 吉林省| 特克斯县| 眉山市| 无极县| 兴安县| 石柱| 抚顺市| 双桥区| 永胜县| 甘谷县| 鸡泽县| 阳泉市| 多伦县| 安宁市| 兴化市| 玉环县| 教育| 陆河县| 黄骅市| 衡阳县| 松阳县| 东兰县| 赤峰市| 宿州市| 微山县| 偏关县| 景德镇市| 青州市| 晋中市| 秀山| 禹州市| 镶黄旗| 泌阳县| 遂溪县| 育儿| 兴化市| 孙吴县| 大足县|