zoukankan      html  css  js  c++  java
  • N-ary Tree Postorder Traversal N叉树的后序遍历

    迭代

    /*
    // Definition for a Node.
    class Node {
    public:
        int val;
        vector<Node*> children;
    
        Node() {}
    
        Node(int _val) {
            val = _val;
        }
    
        Node(int _val, vector<Node*> _children) {
            val = _val;
            children = _children;
        }
    };
    */
    class Solution {
    public:
        vector<int> postorder(Node* root) {
            vector<int> vec;
            stack<Node*> s;
            unordered_map<Node*,bool> m;
            Node* node=root;
            while(node||!s.empty()) {
                while(node) {
                    s.push(node);
                    m[node]=true;
                    bool flag=false;
                    for(auto& child:node->children) {
                        if(!m.count(child)) {node=child;flag=true;break;}
                    }
                    if(!flag) node=nullptr;
                }
                if(!s.empty()) {
                    node=s.top();
                    bool flag=false;
                    for(auto& child:node->children) {
                        if(!m.count(child)) {node=child;flag=true;break;}
                    }
                    if(!flag) {
                        node=nullptr;
                        vec.push_back(s.top()->val);
                        s.pop();
                    }
                }
            }
            return vec;
        }
    };

     递归

    class Solution {
    public:
        vector<int> postorder(Node* root) {
            vector<int> vec;
            postorder_helper(root,vec);
            return vec;
        }
        void postorder_helper(Node* node,vector<int>& vec) {
            if(!node) return;
            for(auto& child:node->children) {
                postorder_helper(child,vec);
            }
            vec.push_back(node->val);
        }
    };
  • 相关阅读:
    tableView cell 设置圆角 响应链
    iOS
    git code 初次上传
    隐藏导航栏,偏移20PX
    Mysql数据库远程连接
    umeng推送, 生产环境deviceToken失效可能原因
    KeyChainWrapper
    UIVisualEffectView(高斯模糊效果)
    UVA 11582 Colossal Fibonacci Numbers! 快速幂
    HDU 2859 Phalanx DP
  • 原文地址:https://www.cnblogs.com/LiuQiujie/p/12502873.html
Copyright © 2011-2022 走看看