1. 程式人生 > >Leetcode 429. N叉樹的層序遍歷

Leetcode 429. N叉樹的層序遍歷

注意queue不斷改變,先用n存下queue的大小。

第二點是要對root進行判斷是否為空。

/*
// Definition for a Node.
class Node {
public:
    int val = NULL;
    vector<Node*> children;

    Node() {}

    Node(int _val, vector<Node*> _children) {
        val = _val;
        children = _children;
    }
};
*/
class Solution {
public:
    vector<vector<int>> levelOrder(Node* root) {
        vector<vector<int>> res;
        if(!root) return res;
        queue<Node*> q;
        q.push(root);
        while(!q.empty()){
            vector<int> tmp;
            int n=q.size();
            for(int i=0;i<n;++i){
                Node* t=q.front();q.pop();
                tmp.push_back(t->val);
                for(int j=0;j<t->children.size();++j){
                    q.push(t->children[j]);
                }
            }
            res.push_back(tmp);
        }
        return res;
    }
};