240
笔下虽有千言,胸中实无一策

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;
    }
};
posted @ 2020-08-19 05:09  CasperWin  阅读(64)  评论(0编辑  收藏  举报