每日力扣-树-二叉树的后序遍历

56 阅读1分钟

给定一个 N 叉树,返回其节点值的后序遍历。

解题思路:每到一个节点,先把他的子节点全部处理完了再处理他本身

class Solution {
public:
    vector<int> ans;
    vector<int> postorder(Node* root) {
        if(root == NULL) return ans;
        dfs(root,ans);
        ans.emplace_back(root->val);
        return ans;
    }
    void dfs(Node* root,vector<int>& ans)
    {
        if(root == NULL) return;
        auto q = root->children;
        int n = q.size();
        for(int i = 0 ; i < n ; i++)
        {
            dfs(q[i],ans);
            ans.emplace_back(q[i]->val);
        }
    }
};