leetcode 107 Binary Tree Level Order Traversal II C++

来源:互联网 发布:瑜伽教学软件 编辑:程序博客网 时间:2024/05/24 02:38

层次遍历,本来一个循环就可以,但是要输出一个二位数组,就变成嵌套循环了。

然后把结果逆序一下就可以了。

class Solution {public:    vector<vector<int>> levelOrderBottom(TreeNode* root) {        vector<vector<int>> res;        if(!root) return res;        queue<TreeNode*> que;        que.push(root);        while(que.size()!=0){            vector<int> tmpRes;            queue<TreeNode*> tmpQue;            while(que.size()!=0){                TreeNode *node = que.front();                que.pop();                if(node->left) tmpQue.push(node->left);                if(node->right) tmpQue.push(node->right);                tmpRes.push_back(node->val);            }            res.push_back(tmpRes);            que = tmpQue;        }        reverse(res.begin(),res.end());        return res;    }};


0 0
原创粉丝点击