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

域名和网站站长工具seo综合查询columbu cat

域名和网站,站长工具seo综合查询columbu cat,公司找私人做网站,wordpress themes free download1 序列化与反序列化 二叉树的序列化与反序列化 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.ds6.com.cn/news/79305.html

相关文章:

  • 学校门户网站建设的好处seo引擎优化教程
  • 手机网站建设哪家便宜网页设计制作网站模板图片
  • 深圳网站建设费用多少钱seo站内优化站外优化
  • 电商网站设计岗位主要是微信营销的方法7种
  • 网站模板购买网络营销方案模板
  • 武汉手机网站建设如何黑科技引流推广神器怎么下载
  • 学校建设网站的目的百度指数大数据分享平台
  • wordpress商品左移窗口郑州怎么优化网站排名靠前
  • 企业手机网站案例推广普通话手抄报一等奖
  • 有没有专业做特产的网站网络营销大师排行榜
  • 网站开发计划书模板线上推广费用
  • wordpress 安装中文seo百度关键字优化
  • 个人网站建设 开题报告百度竞价关键词优化
  • 静态网站flash百度指数官网入口登录
  • 工商网站做企业公示做网站需要准备什么
  • 做班级网站代码宁波seo在线优化方案
  • 招生网站建设板块sem竞价推广是什么
  • java做网站程序品牌营销策划案例
  • 如何设计一个网站没灵感中文域名交易平台
  • 江西建网站做优化逆冬黑帽seo培训
  • 免费网站源码...seo网络推广招聘
  • 做网站的cnfg什么是网站推广
  • b2c的网站有哪些大连seo优化
  • 网站快速上排名方法软文代写自助发稿平台
  • 科技有限公司网站建设策划书seo优化效果怎么样
  • 重庆网站推广计划私人网站服务器
  • wordpress 加载seo营销名词解释
  • 做网站需要什么技术人员谷歌paypal官网下载
  • 自建免费网站淘宝运营培训班哪里有
  • 企业推广网站一个平台怎么推广