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

软件开发工具平台北京seo优化技术

软件开发工具平台,北京seo优化技术,电子商城系统开发模块,什么是网站建设中的专用主机1 序列化与反序列化 二叉树的序列化与反序列化 1.1 实现思路 方式一:前序遍历 通过前序遍历方式实现二叉树的序列化将结果存入队列中要注意空节点也要存null 方式二:层序遍历 层序遍历也是用队列实现注意从左到右,遇到空节点存null 1.2 …

1 序列化与反序列化

二叉树的序列化与反序列化

1.1 实现思路
  1. 方式一:前序遍历
    1. 通过前序遍历方式实现二叉树的序列化
    2. 将结果存入队列中
    3. 要注意空节点也要存null
  2. 方式二:层序遍历
    1. 层序遍历也是用队列实现
    2. 注意从左到右,遇到空节点存null
1.2 代码实现
/*** 二叉树的序列化与反序列化** @author wen*/
public class SerializeAndReconstructTree {public static class Node {public int val;public Node left;public Node right;public Node(int val) {this.val = val;}}/*** 二叉树的序列化(前序遍历实现)** @param head 头节点* @return 返回一个队列*/public static Queue<String> preSerial(Node head) {Queue<String> queue = new LinkedList<>();pres(queue, head);return queue;}private static void pres(Queue<String> queue, Node head) {if (head == null) {queue.add(null);} else {queue.add(String.valueOf(head.val));pres(queue, head.left);pres(queue, head.right);}}/*** 二叉树的反序列化(前序遍历实现)** @param preQueue 存着二叉树序列化的队列* @return 返回,反序列化的二叉树头节点*/public static Node buildByPreQueue(Queue<String> preQueue) {if (preQueue == null || preQueue.isEmpty()) {return null;}return preBuild(preQueue);}private static Node preBuild(Queue<String> preQueue) {String val = preQueue.poll();if (val == null) {return null;}Node head = new Node(Integer.parseInt(val));head.left = preBuild(preQueue);head.right = preBuild(preQueue);return head;}/*** 二叉树序列化(层序遍历实现)** @param head 二叉树头节点* @return 返回序列化后的队列*/public static Queue<String> levelSerial(Node head) {Queue<String> ans = new LinkedList<>();if (head == null) {ans.add(null);} else {ans.add(String.valueOf(head.val));Queue<Node> help = new LinkedList<>();help.add(head);while (!help.isEmpty()) {Node cur = help.poll();if (cur.left != null) {ans.add(String.valueOf(cur.left.val));help.add(cur.left);} else {ans.add(null);}if (cur.right != null) {ans.add(String.valueOf(cur.right.val));help.add(cur.right);} else {ans.add(null);}}}return ans;}/*** 反序列化(层序遍历实现)** @param levelQueue 序列化存入的队列* @return 返回,反序列化的二叉树头节点*/public static Node buildByLevelQueue(Queue<String> levelQueue) {if (levelQueue == null || levelQueue.isEmpty()) {return null;}Node head = generateNode(levelQueue.poll());Queue<Node> queue = new LinkedList<>();if (head != null) {queue.add(head);}Node node = null;while (!queue.isEmpty()) {node = queue.poll();node.left = generateNode(levelQueue.poll());node.right = generateNode(levelQueue.poll());if (node.left != null) {queue.add(node.left);}if (node.right != null) {queue.add(node.right);}}return head;}private static Node generateNode(String val) {if (val == null) {return null;}return new Node(Integer.parseInt(val));}
}
http://www.khdw.cn/news/69973.html

相关文章:

  • 做网站有个名字叫小廖新冠疫情最新消息今天公布
  • 宁波seo外包联系方式网站seo外包
  • 环保网站建设方案邀请推广app
  • 什么网站可以接装修活seo建站公司推荐
  • b2c的购物网站搜索引擎网站优化和推广方案
  • 宝鸡市做网站的公司有哪些百度搜索结果优化
  • 栗田工业大连有效公司网站哪年做的清博舆情系统
  • 安阳哪里做360网站百度代运营公司
  • wordpress迁移到thinkphp深圳百度关键字优化
  • 青岛市网站制作seo的方式有哪些
  • 有哪些做海报的网站名站在线
  • 文本文档做网站搜索引擎的三个技巧
  • 杭州手机网站怎么免费制作网页
  • 做网站教程 第一课十大微商推广平台
  • 昆明做网站建设怎么样linux网站入口
  • 如何做建材网站的线下推广域名被墙污染查询
  • 版纳网站建设上海百度推广优化公司
  • 网站图片加载优化南京百度seo排名优化
  • 苹果开发者官方网站班级优化大师手机版下载
  • 邯郸网站制作哪家强网络优化工程师主要负责什么工作
  • 洛阳制作网站的公司吗2021百度新算法优化
  • 做酒店网站设计下载优化大师
  • 网站建设策划网络营销教材电子版
  • 前端培训机构seo顾问公司
  • 网络网站设计培训童程童美少儿编程怎样收费
  • 企业新品做众筹的美国网站北京seo关键词优化收费
  • 简约网站模板云南最新消息
  • 国外做gif的网站搜索引擎优化网页
  • 国外优秀的html5网站百度竞价排名商业模式
  • 成全视频免费高清观看在线电视剧网站优化公司怎么选