我需要打印(和):打印()用於預購的子樹預購子樹
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))
什麼是錯?
EDITED:
它必須是
(A(B(C(E())P())G()))
能否請您詳細闡述更多? – Dejell
你必須從空**()**開始。以**(**和返回之前,以**結尾)**開頭。如果樹是空的,你應該有()對嗎? 你能給我們提供更多信息嗎? –
是的。如果它有一個元素,它將是(A)對於isntance – Dejell