c++ 栈和队列

求二叉树的前序遍历

http://www.nowcoder.com/questionTerminal/501fb3ca49bb4474bf5fa87274e884b4

class Solution {
public:
/*
*
* @param root TreeNode类
* @return int整型vector
*/
vector<int> preorderTraversal(TreeNode</int>
root) {
// write code here
vector<int> res;
if (root==NULL)
return res;
queue<TreeNode> q;
stack<TreeNode
> s;
q.push(root);
while (!s.empty()||!q.empty()){
TreeNode* tmp = NULL;
if (!q.empty()){
tmp = q.front();
q.pop();
}
else{
tmp = s.top();
s.pop();
}
res.push_back(tmp->val);
if (tmp->left!=NULL)
q.push(tmp->left);
if (tmp->right!=NULL)
s.push(tmp->right);
}
return res;
}
};</int>

全部评论

相关推荐

字节一直是我的白月光,考虑到转正还是拒了日常实习。
从今天开始狠狠卷JV...:为什么你释放的offer没流到我头上
点赞 评论 收藏
分享
下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务