Sicily 1935. Rebuild the tree
2014-01-02 16:39
288 查看
题目大意:根据前序和中序重建二叉树,并按bfs输出
解体思路:关键注意重建二叉树时递归判断结束条件。bfs无难度。
解体思路:关键注意重建二叉树时递归判断结束条件。bfs无难度。
// 1935. Rebuild the 2-tree #include <iostream> #include <string> #include <queue> using namespace std; string pre,mid; int len,pos; struct Node{ char item; Node *left, *right; Node( char ch ){ left = right = NULL; item = ch; } }; void build( Node *&root, int begin, int end ){ if( begin > end || pos >= pre.length() ) return; root = new Node(pre[pos]); int m = mid.find(pre[pos++]); build( root->left, begin, m-1 ); build( root->right, m+1, end); } int main(){ int m; cin >> m; while( m-- ){ cin >> pre >> mid; len = pre.length(); pos = 0; Node* root = new Node(pre[0]); build( root, 0, len-1 ); // bfs queue<Node*> q; q.push(root); while( !q.empty() ){ Node *curr = q.front(); q.pop(); cout << curr->item; if( curr->left ) q.push( curr->left ); if( curr->right ) q.push( curr->right ); } cout << endl; } return 0; }
相关文章推荐
- Light OJ 1094 - Farthest Nodes in a Tree【树的直径 两次bfs】
- Sicily 1155. Can I Post the lette
- sicily 6484. *the easiest problem
- Sicily 13292. The 4-Point Scale (四分制)
- Sicily1530 The Seven Percent Solution
- Binary Indexed Tree树状数组初步 & USACO2011 November Gold Above the Median
- sicily AVLTree
- xml.etree.ElementTree — The ElementTree XML API 中文翻译
- Codeforces Round #430(Div.2)Problem C Ilya And The Tree(DFS)
- Boy and The apple tree(男孩与苹果树)
- The following untracked working tree files would
- poj-2568 Decode the Tree
- dp优化专辑 I - Cut the Tree [树形dp]
- Git CMD - status: Show the working tree status
- [Codeforces570D]Tree Requests(dsu on the tree)
- codeforces 842C. Ilya And The Tree(dfs)
- hdu 4912 Paths on the tree(lca+贪心)
- Light-oj-1094 Farthest Nodes in a Tree (树的直径模板题)
- hdu 4912 Paths on the tree
- fzu 2077 The tallest tree