LeetCode 102. Binary Tree Level Order Traversal 动态演示

按层遍历树,要用到queue

class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> ret;
        //ahd(root)
        //a(ret)
        queue<TreeNode*> que;
        //a(que)
        if(!root)
            return ret;
        que.push(root);
        //dsp
        while(!que.empty()){
            int n=que.size();
            vector<int> line;
            //a(line)
            while(n-->0){                
                auto cur=que.front(); que.pop();
                line.push_back(cur->val);                
                //a(cur)
                //lk("root",cur)
                if(cur->left) que.push(cur->left);
                if(cur->right) que.push(cur->right);
                //dsp
            }
            ret.push_back(line);     
            //dsp
        }
        return ret;
    }
};

程序动态运行过程:http://simpledsp.com/FS/Html/lc102.html

猜你喜欢

转载自www.cnblogs.com/leetcoder/p/11312948.html