leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0145.cpp (760B)


0 class Solution { 1 public: 2 vector<int> postorderTraversal(TreeNode *root) { 3 if (!root) return {}; 4 5 vector<int> res; 6 unordered_set<TreeNode *> s; 7 stack<TreeNode *> st; 8 9 while (root) { 10 st.push(root); 11 root = root->left; 12 } 13 14 while (!st.empty()) { 15 TreeNode *root = st.top(); 16 st.pop(); 17 if (!s.count(root)) { 18 s.insert(root); 19 st.push(root); 20 root = root->right; 21 while (root) { 22 st.push(root); 23 root = root->left; 24 } 25 } else { 26 res.push_back(root->val); 27 } 28 } 29 30 return res; 31 } 32 };