LeetCode(559)N叉树的最大深度


队列的最后进入的元素q.back()

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

    Node() {}

    Node(int _val) {
        val = _val;
    }

    Node(int _val, vector _children) {
        val = _val;
        children = _children;
    }
};
*/

class Solution {
public:
    int maxDepth(Node* root) {
        queueq;
        vectorv;
        int height = 0,p1 = 0,p2 = 0,level = 0;
        Node*p,*first,*last;
        if(root==nullptr)return 0;
        q.push(root);
        last = root;
        height++;
        while(!q.empty()){
            p = q.front();
            q.pop();
            first = p;
            v = p->children;
            p1++;
            for(int i=0;i){
                q.push(v[i]);
            }
            if(first==last){
                level++;
                last = q.back();
            }
            p2 += v.size();
        }
        return level;
    }
};