102. Binary Tree Level Order Tra

2019-06-11  本文已影响0人  jecyhw

题目链接

https://leetcode.com/problems/binary-tree-level-order-traversal/

代码

class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> ans;
        if (root == NULL) {
            return ans;
        }
        queue<TreeNode*> que;
        que.push(root);
        que.push(NULL);

        vector<int> ve;
        TreeNode *t;
        while (true) {
            t = que.front();
            que.pop();
            if (t == NULL) {
                ans.push_back(ve);
                ve.clear();
                if (que.empty()) {
                    break;
                } else {
                    que.push(NULL);
                }
            } else {
                if (t->left != NULL) {
                    que.push(t->left);
                }
                if (t->right != NULL) {
                    que.push(t->right);
                }
                ve.push_back(t->val);
            }
        }
        return ans;
    }
};
上一篇 下一篇

猜你喜欢

热点阅读