二叉树的序列化
来源:互联网 发布:php实现短信验证码 编辑:程序博客网 时间:2024/06/07 17:39
首先我们介绍二叉树先序序列化的方式,假设序列化的结果字符串为str,初始时str等于空字符串。先序遍历二叉树,如果遇到空节点,就在str的末尾加上“#!”,“#”表示这个节点为空,节点值不存在,当然你也可以用其他的特殊字符,“!”表示一个值的结束。如果遇到不为空的节点,假设节点值为3,就在str的末尾加上“3!”。现在请你实现树的先序序列化。
给定树的根结点root,请返回二叉树序列化后的字符串。
package erchashu;import java.util.ArrayList;import java.util.List;public class xianxuxuliehua { static class TreeNode{ int val = 0; TreeNode left =null; TreeNode right =null; TreeNode(int val){ this.val =val; } } public static List<TreeNode> list =new ArrayList<TreeNode>();public static void main(String[] args) { TreeNode l1 =new TreeNode(1); TreeNode l2 =new TreeNode(2); TreeNode l3 =new TreeNode(3); l1.left = l2; l1.right =l3;String str = xianxuxuliehua.toString(l1); System.out.println(str);}public static String toString(TreeNode root) { // write code hereStringBuffer buffer = new StringBuffer(); xianxu(root,buffer); return buffer.toString();}public static void xianxu(TreeNode root,StringBuffer buffer) { if(root ==null){ buffer.append("#!"); return ; } buffer.append(root.val+"!"); xianxu(root.left,buffer); xianxu(root.right,buffer);}}
0 0
- 二叉树的序列化
- 二叉树的序列化
- 二叉树的序列化
- 二叉树的序列化
- 二叉树的序列化
- 二叉树的序列化
- 二叉树的序列化
- 二叉树序列化
- 二叉树序列化
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- sea.js+jQuery+jQueryMobile的模块化开发
- 抽象类的应用
- android ellipsize的使用
- 硬币找零
- 连续字符统计(如AABBBCDD, A2B3C1D2)
- 二叉树的序列化
- 源码安装grpc
- 安卓安全综述
- oracle 表误删或者数据误改修复解决方案
- OpenCV学习笔记(2)——播放视频
- 获取android中正在运行应用程序的列表
- leetcode 38. Count and Say
- 14.4.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead) 配置InnoDB Buffer pool 预读
- 接口的应用