leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0889.cpp (502B)
0 class Solution {
1 public:
2 TreeNode *constructFromPrePost(const vector<int> &pre, const vector<int> &post) {
3 vector<TreeNode *> s = {new TreeNode(pre[0])};
4 for (int i = 1, j = 0; i < pre.size(); i++) {
5 TreeNode *node = new TreeNode(pre[i]);
6 while (s.back()->val == post[j])
7 s.pop_back(), j++;
8 (!s.back()->left ? s.back()->left : s.back()->right) = node;
9 s.push_back(node);
10 }
11 return s.front();
12 }
13 };