当前位置: 首页 > news >正文

网站项目报价方案免费b2b

网站项目报价方案,免费b2b,b2b网站需要解决哪些问题,产品网站建设题目 请设计一个算法将二叉树序列化成一个字符串,并能将该字符串反序列化出原来二叉树的算法。 分析 先考虑如何将二叉树序列化为一个字符串。需要逐个遍历二叉树的每个节点,每遍历到一个节点就将节点的值序列化到字符串中。以前序遍历的顺序遍历二叉…

题目

请设计一个算法将二叉树序列化成一个字符串,并能将该字符串反序列化出原来二叉树的算法。

分析

先考虑如何将二叉树序列化为一个字符串。需要逐个遍历二叉树的每个节点,每遍历到一个节点就将节点的值序列化到字符串中。以前序遍历的顺序遍历二叉树最适合序列化。如果采用前序遍历的顺序,那么二叉树的根节点最先序列化到字符串中,然后是左子树,最后是右子树。这样做的好处是在反序列化时最方便,从字符串中读出的第1个数值一定是根节点的值。

实际上,只把节点的值序列化到字符串中是不够的。首先,要用一个分隔符(如逗号)把不同的节点分隔开。其次,还要考虑如何才能在反序列化的时候构建不同结构的二叉树。

在这里插入图片描述
尽管null节点通常没有在图上画出来,但它们对树的结构是至关重要的。因此,应该把null节点序列化成一个特殊的字符串。如果把null节点序列化成"#“,那么图8.3(a)中的二叉树用前序遍历将被序列化成字符串"6,6,6,#,#,6,#,#,6,#,#”,而图8.3(b)中的二叉树将被序列化成字符串"6,6,#,#,6,6,#,#,6,#,#"。

public class Test {public static void main(String[] args) {TreeNode node6 = new TreeNode(6);TreeNode node66 = new TreeNode(6);TreeNode node666 = new TreeNode(6);TreeNode node6666 = new TreeNode(6);TreeNode node66666 = new TreeNode(6);node6.left = node66;node6.right = node666;node66.left = node6666;node66.right = node66666;String result = serialize(node6);System.out.println(result);TreeNode deserialize = deserialize(result);System.out.println(deserialize);}public static String serialize(TreeNode root) {if (root == null) {return "#";}String leftStr = serialize(root.left);String rightStr = serialize(root.right);return root.val + "," + leftStr + "," + rightStr;}public static TreeNode deserialize(String data) {String[] nodeStrs = data.split(",");int[] array = {0};return dfs(nodeStrs, array);}private static TreeNode dfs(String[] strs, int[] array) {String str = strs[array[0]];array[0]++;if (str.equals("#")) {return null;}TreeNode node = new TreeNode(Integer.valueOf(str));node.left = dfs(strs, array);node.right = dfs(strs, array);return node;}
}
http://www.mmbaike.com/news/43713.html

相关文章:

  • 福州网站建设哪家好jsurl中文转码
  • 天津自助建站新媒体运营主要做什么
  • 产品展示类网站源码市场调研怎么做
  • 网站模板 家网站代理公司
  • 做鞋子出口需要作网站吗公司做网络推广哪个网站好
  • 杭州网站关键词推广如何创建公司网站
  • 九江有哪些做网站的公司seo网络优化是做什么的
  • 小型手机网站建设企业如何做好精准营销
  • 注册网站会有哪些风险网络营销方案策划论文
  • 网站建设学费多少钱山东seo首页关键词优化
  • 社交网络服务网站免费网站提交入口
  • 做一个展示网站多少钱seo营销是什么
  • 保定网站建设方案外包如何在外贸平台推广
  • 网站没有收录了微信朋友圈广告投放价格表
  • 甘肃省专业做网站公司网站怎么弄
  • 最流行的网站开发框架百度客户电话
  • 网站页脚怎么做能好看点电子商务网站建设与维护
  • 网站卖了对方做违法吗网站alexa排名查询
  • 重庆 网站开发seo常用工具有哪些
  • 免费自建 响应式 网站百度广告点击一次多少钱
  • 管理系统开发东莞网络营销优化
  • 网站开发列表免费推广软件
  • python3 做网站有什么好用的搜索引擎
  • 有哪些tp5做的网站网站快速排名案例
  • 门户网站开发 报价seo快速排名软件案例
  • 创建5a 网站建设要求百度竞价点击神器下载安装
  • 百度做网站投广告网站搜索排名优化软件
  • 茂名做网站公司优化大师卸载不了
  • 做logo好的网站网络科技公司骗了我36800
  • 网站制作费计入什么科目培训心得体会万能模板