1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
   | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  class Solution { public:     vector<int> postorder(Node* root) {         vector<int> res;         stack<pair<Node *, bool>> s;         s.emplace(root, false);         while (!empty(s)) {             auto [u, visited] = s.top(); s.pop();             if (!u) continue;             if (visited) {                 res.push_back(u->val);                 continue;             }             s.emplace(u, true);             for (auto it = rbegin(u->children); it != rend(u->children); ++it) {                 s.emplace(*it, false);             }         }         return res;     } };
 
  |