/**
* 反序列化二叉樹
*
* @param s
*/
public TreeNode deSerialize(String s) {
if (s.charAt(index) != '$') {
TreeNode root = new TreeNode(s.charAt(index));
index++;
root.left = deSerialize(s);
index++;
root.right = deSerialize(s);
return root;
}
return null;
}
static int index = 0;
/**
* 序列化二叉樹
*
* @param root
*/
public String serialize(TreeNode root) {
StringBuffer sb = new StringBuffer();
serialize(root, sb);
return sb.toString();
}
public void serialize(TreeNode root, StringBuffer sb) {
if (root == null) {
sb.append("$");
return;
}
sb.append(root.val);
serialize(root.left, sb);
serialize(root.right, sb);
}
劍指Offer學習-面試題37:序列化與反序列化二叉樹
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.