leetcode

Solution 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 };