?
?
class Solution {
public static String creat(TreeNode root ,StringBuilder str ) {
if (root == null)return null;
//先要拼接根节点
else {
str.append(root.val);
}
//拼接根节点的左子树
if (root.left != null){
str.append("(");
creat(root.left,str);
str.append(")");
}else {
if (root.right != null){
//题目的特殊要求 左子节点为空 右子节点不为空的话()不能省略
str.append("()");
}
}
//拼接根节点的右子树
if (root.right != null){
str.append("(");
creat(root.right,str);
str.append(")");
}else {
}
return str.toString();
}
public String tree2str(TreeNode root) {
StringBuilder stringBuilder = new StringBuilder();
return creat(root,stringBuilder);
}
}
?
|