102.二叉树的层序遍历——记录(C++)

class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
         vector<vector<int>>a; 
         if (root == nullptr) return a;
         queue<TreeNode*>q;
    int i=0;
    q.push(root);
    vector<int>t={root->val};
    a.push_back(t);
    i++;
    while(!q.empty())
    {
        int n=q.size();
         vector<int>k;
        while(n)
        {
            TreeNode* t=q.front();q.pop();
            if(t->left)
            {
               q.push(t->left); 
               k.push_back(t->left->val);
            }
            if(t->right)
            {
                 q.push(t->right);
                 k.push_back(t->right->val);
            }
            --n;
        }
        if(!k.empty())  a.push_back(k);
            i++;
    }
    return a;
    }
};

102.二叉树的层序遍历——记录(C++)

在前面的广度优先的基础上打出来的。

 加油!

上一篇:Android程序保护与破解浅析


下一篇:两个数组的交集2