102. Binary Tree Level Order Tra

2017-01-07  本文已影响0人  juexin

Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For example:Given binary tree[3,9,20,null,null,15,7],
   3
  / \
 9  20
     /
    15  7

return its level order traversal as:
[ [3], [9,20], [15,7]]

class Solution {
public:
    vector<vector<int>> levelOrder(TreeNode* root) {
        vector<vector<int>> arr;
        if(root==NULL)
          return arr;
        queue<TreeNode *> q;
        q.push(root);
        while(!q.empty())
        {
            int i = 0;
            int height = q.size();
            vector<int> c;
            while(i++<height)
            {
                TreeNode* t = q.front();
                q.pop();
                c.push_back(t->val);
                if(t->left)
                  q.push(t->left);
                if(t->right)
                  q.push(t->right);
            }
            arr.push_back(c);
        }
        return arr;
    }
};
上一篇下一篇

猜你喜欢

热点阅读