首页 > 代码库 > leetcode第一刷_Binary Tree Level Order Traversal II
leetcode第一刷_Binary Tree Level Order Traversal II
很简单的题目,在想是不是后面就不要更这么简答的了,大家都会写,没人看啊。层序遍历的基础上,加了保存每一层,加了从下往上输出,就是一个vector和一个stack的问题嘛,无他,但手熟尔。
class Solution { public: vector<vector<int> > levelOrderBottom(TreeNode *root) { vector<vector<int> > res; if(root == NULL) return res; queue<TreeNode*> que; stack<vector<int> > s; vector<int> tpres; TreeNode *pNode; que.push(root); que.push(NULL); while(!que.empty()){ pNode = que.front(); que.pop(); if(pNode == NULL){ s.push(tpres); tpres.clear(); if(que.empty()) break; else{ que.push(NULL); continue; } } tpres.push_back(pNode->val); if(pNode->left) que.push(pNode->left); if(pNode->right) que.push(pNode->right); } while(!s.empty()){ res.push_back(s.top()); s.pop(); } return res; } };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。