-2
我應該採取的二叉樹的輸入遞歸爲:以二叉樹作爲輸入(遞歸地)
10真20真40假假真50假假真30真60假假真73虛假
這樣創建的樹應該是: -
10
20 30
40 50 60 73
我創建了無法創建這棵樹的功能,什麼是錯的代碼?
node* takeInput() {
int data;
string a;
cin>>data>>a;
node*n = NULL;
if(a=="true") {
n = new node(data);
n->left = takeInput();
n->right = takeInput();
}
if(a=="false") {
return NULL;
}
return n;
}
解釋你的輸入! –
@RajeevSingh如果一個節點有lchild或者rchild,那麼它的「真」或者「假」。 –
@RajeevSingh例如'40 false false'意味着它沒有leftchild和rightchild。 「30真60假虛假73虛假」意味着30已經離開了孩子60並且60沒有孩子(60假假),並且30有正確的孩子也是「真73」,其中73沒有孩子(73假假)。 –