我需要为预购的子树打印 ( 和 ):
A
/ \
B G
/ \
C P
\
E
我试着做:
public StringBuilder preOrder(StringBuilder string) {
string.append(value);
if (left!=null || right!=null)
string.append("(");
if (left != null){
left.preOrder(string);
}
if (left!=null && right!=null)
string.append(")");
if (right != null){
right.preOrder(string);
}
return string;
}
然而,结果出来了:
A(B(C(E)P)G
代替:
(A(B(C(E)P)G))
怎么了?
编辑:
它一定要是
(A(B(C(E())P())G()))