leetcode 日经贴,Cpp code -Binary Tree Level Order Traversal

来源:互联网 发布:cf淘宝刷经验会封号吗 编辑:程序博客网 时间:2024/06/07 05:28

Binary Tree Level Order Traversal

/** * Definition for binary tree * 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> > ans;        queue<TreeNode *> q;        vector<int> level;        if (!root) {            return ans;        }        q.push(root);        q.push(NULL);        while (!q.empty()) {            TreeNode *r = q.front();            q.pop();            if (!r) {                ans.push_back(level);                level.clear();                if (!q.empty()) {                    q.push(NULL);                }            } else {                level.push_back(r->val);                if (r->left) {                    q.push(r->left);                }                if (r->right) {                    q.push(r->right);                }            }        }        return ans;    }};


0 0