30 Day Challenge Day 4 | Leetcode 102. Binary Tree Level Order Traversal

题解

典型的BFS模板套路。

class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> ret;
        
        if(!root) return ret;

        queue<TreeNode*> q;
        q.push(root);

        while(!q.empty()) {
            int size = q.size();
            vector<int> level;
            for(int i = 0; i < size; i++) {
                TreeNode* n = q.front();
                q.pop();
                level.push_back(n->val);
                if(n->left) {
                    q.push(n->left);
                }
                if(n->right) {
                    q.push(n->right);
                }
            }
            ret.push_back(level);
        }

        return ret;
    }
};
原文地址:https://www.cnblogs.com/casperwin/p/13527099.html