leetcode Binary Tree Level Order Traversal II

来源:互联网 发布:mac有没有office 编辑:程序博客网 时间:2024/05/22 06:40

开辟两个堆, 利用BFS 来得到结果,最后注意题目要求的顺序。


代码

class Solution{public:vector<vector<int> > levelOrderBottom(TreeNode *root) {vector<vector<int> > result;if(root==NULL)return result;queue<TreeNode*> queue_pop, queue_push;queue_pop.push(root);vector<int> level;while(!queue_pop.empty()){TreeNode *tempNode;tempNode = queue_pop.front();level.push_back(tempNode->val);queue_pop.pop();if(tempNode->left)queue_push.push(tempNode->left);if(tempNode->right)queue_push.push(tempNode->right);if(queue_pop.empty()){result.push_back(level);level.clear();swap(queue_push, queue_pop);}}//反转得到最终结果reverse(result.begin(), result.end());return result;    }};

0 0