102. Binary Tree Level Order Traversal

来源:互联网 发布:淘宝宠物用品店铺介绍 编辑:程序博客网 时间:2024/05/22 16:02

简单树的BFS

/** * 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) {        queue<TreeNode*> level;        queue<int> depth;        vector<vector<int>> result;        if(root==NULL)            return result;        level.push(root);        depth.push(1);        while(!level.empty())        {            if(level.front()->left!=NULL)            {                level.push(level.front()->left);                depth.push(depth.front()+1);            }            if(level.front()->right!=NULL)            {                level.push(level.front()->right);                depth.push(depth.front()+1);            }            if(result.size()<depth.front())            {                vector<int> temp;                temp.push_back(level.front()->val);                result.push_back(temp);            }            else                result[depth.front()-1].push_back(level.front()->val);            level.pop();            depth.pop();        }        return result;    }};
0 0
原创粉丝点击