Level 1 (day 6)

第一题

题目链接:https://leetcode.cn/problems/n-ary-tree-preorder-traversal/

个人题解:DFS

代码:

class Solution {
public:
    vector<int> res;

    vector<int> preorder(Node* root) {
        dfs(root);
        return res;
    }
    void dfs(Node* root)
    {
        if(!root) return;
        res.push_back(root->val);
        for(auto& child:root->children) dfs(child);
    }
};

第二题

题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/

个人题解:经典BFS

代码:


class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> res;
        if(!root) return {};
        queue<TreeNode*> q;
        q.push(root);
        while(!q.empty()){
            int n=q.size();
            res.push_back(vector<int>());
            for(int i=1;i<=n;i++){
                auto t=q.front(); 
                q.pop();
                res.back().push_back(t->val);
                if(t->left) q.push(t->left);
                if(t->right) q.push(t->right);
            }
        }
        return res;
    }
};
posted @ 2022-06-28 08:32  黑VS白-清墨  阅读(25)  评论(0编辑  收藏  举报