題目要求說的很清楚,給出乙個數的先序和中序遍歷結果,構建樹並按照廣度優先輸出。先序遍歷的第乙個數即為根節點,在中序遍歷中找到之後它左面的都是左子孫結點右邊同理。
// problem#: 1935
// submission#: 3291146
// the source code is licensed under creative commons attribution-noncommercial-sharealike 3.0 unported license
// uri:
#include#include#includeusing namespace std;
struct tree ;
tree* build(string pre, string in)
return root;
}int main()
if (temp->right != null)
}cout << endl;
}}
Sicily 1935 二叉樹重建
1935.二叉樹重建 constraints time limit 1 secs,memory limit 32 mb description 對於二叉樹t,可以遞迴定義它的先序遍歷 中序遍歷和後序遍歷如下 preorder t t的根節點 preorder t的左子樹 preorder t的右子樹...
Sicily 1935 二叉樹重建
time limit 1 secs,memory limit 32 mb 對於二叉樹t,可以遞迴定義它的先序遍歷 中序遍歷和後序遍歷如下 preorder t t的根節點 preorder t的左子樹 preorder t的右子樹 inorder t inorder t的左子樹 t的根節點 inor...
1935 二叉樹重建
這種方法簡便地利用前序遍歷和後續遍歷就得到了一顆完整的樹,雖然原理還不太清楚,但是感覺是利用了s2中lo,與hi,當不符合條件的時候才轉向右子樹。另外利用佇列進行廣度優先遍歷也是乙個亮點。include include include using namespace std int index st...