Serialize and Deserialize a binary tree
来源:互联网 发布:kindle看编程书籍 编辑:程序博客网 时间:2024/05/17 03:16
Serialize and Deserialize a binary tree
void Serialize(TreeNode node) {if (node == null) { System.out.print("#" + " "); return;}System.out.print(node.val + " ");Serialize(node.left);Serialize(node.right);}TreeNode Dederialize(char[] ch) { if (ch == null || ch.length == 0) return null; return helper(ch, 0);}private TreeNode helper(char[] ch, int index) {if (index > ch.length || ch[index] == '#') return null;TreeNode node = new TreeNode(ch[index] - '0');index++;node.left = helper(ch, index);index++;node.right = helper(ch,index);return node;}
class TreeNode{ int val; TreeNode left, right; TreeNode(int val){ this.val = val; }} public String serialize(TreeNode root){ StringBuilder sb = new StringBuilder(); serialize(root, sb); return sb.toString();} private void serialize(TreeNode x, StringBuilder sb){ if (x == null) { sb.append("# "); } else { sb.append(x.val + " "); serialzie(x.left, sb); serialzie(x.right, sb); }} public TreeNode deserialize(String s){ if (s == null || s.length() == 0) return null; StringTokenizer st = new StringTokenizer(s, " "); return deserialize(st);} private TreeNode deserialize(StringTokenizer st){ if (!st.hasMoreTokens()) return null; String val = st.nextToken(); if (val.equals("#")) return null; TreeNode root = new TreeNode(Integer.parseInt(val)); root.left = deserialize(st); root.right = deserialize(st); return root;}
0 0
- Serialize and deserialize a binary tree
- Serialize and Deserialize a binary tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize Binary Tree & Serialize and Deserialize BST
- [LinkedIn]Serialize (encode) and deserialize(decode) a binary tree
- leetcode 297 : Serialize and Deserialize Binary Tree
- 西普学院逆向writeup ---------你会吗??
- leetcode 224 Basic Calculator
- JS原型链
- SSH整合实例详解
- HDOJ 1501 Zipper(dfs)
- Serialize and Deserialize a binary tree
- autotools
- Redis服务部署
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- linux中的strace|pstack工具的使用
- 如何为github上的项目添加gif效果图
- java笔记26 IO流其他对象
- Functional MRI (second edition) -- 2. MRI Scanners
- C#—泛型