美文网首页
2019-03-03 Day56待提高

2019-03-03 Day56待提高

作者: 骚得过火 | 来源:发表于2019-03-03 22:25 被阅读0次

    1.二叉树的层次遍历
    给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。

    例如:
    给定二叉树: [3,9,20,null,null,15,7],

    3
    

    /
    9 20
    /
    15 7
    返回其层次遍历结果:

    [
    [3],
    [9,20],
    [15,7]
    ]

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        vector<vector<int>> levelOrder(TreeNode* root) {
            
            vector< vector< int > > res ;
            if( root == NULL ) return res;
            
            queue< TreeNode* >  s;
            s.push(root);
            
            while(!s.empty())
            {
                int size = s.size();
                vector< int > temp ;
                for( int i = 0 ; i < size ; i++ )
                {
                    temp.push_back(s.front()->val);
                    if(s.front()->left)
                        s.push(s.front()->left);
                    if(s.front()->right)
                        s.push(s.front()->right);
                    s.pop();
                }
                res.push_back(temp);
            }
            
            return res;
            
        }
    };
    

    相关文章

      网友评论

          本文标题:2019-03-03 Day56待提高

          本文链接:https://www.haomeiwen.com/subject/mehvuqtx.html