簡體   English   中英

使用遞歸的非二叉樹不會創建整個樹

[英]non-binary tree using recursion is not creating entire tree

我有一個簡單的函數以遞歸方式構建字符串樹。 該函數被賦予字符串“ ***”,結果樹應如下所示:

                                        ***
                                 /       |       \
                              X**       *X*       **X
                             / \        / \        / \
                          XX*  X*X    XX* *XX    X*X  *XX 
                          /     \     /     \     /     \
                         XXX   XXX   XXX   XXX   XXX    XXX

問題是我的函數僅創建樹的最左側(X **,XX *,XXX)

這是函數:

//Takes in the string "***"
void buildTree(string tree){
 if (tree == "XXX") return;
 else{
   string newTree;
   for (int i=0; i<tree.size(); i++){
     if(tree[i] == '*'){
       newTree = tree;
       newTree[i] = 'X';
       cout << newTree << endl;
       return buildTree(newTree);
     }
   }
 }
}

從“ return buildTree(newTree);”中刪除“ return”; 而且你應該很好走。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM