代碼演示:
package swordfingeroffer;
public class InterviewQuestion37 {
private int index = -1;
public String serialize(TreeNode root) {
StringBuilder stringBuilder = new StringBuilder();
if (null == root) {
stringBuilder.append("##,");
return stringBuilder.toString();
}
stringBuilder.append(root.val + ",");
stringBuilder.append(serialize(root.left));
stringBuilder.append(serialize(root.right));
return stringBuilder.toString();
}
public TreeNode deSerialize(String str) {
index ++;
if (index >= str.length()) {
return null;
}
String[] split = str.split(",");
TreeNode node = null;
if (!("##".equals(split[index]))) {
node = new TreeNode(Integer.parseInt(split[index]));
node.left = deSerialize(str);
node.right = deSerialize(str);
}
return node;
}
}