/**
* 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<int> preorderTraversal(TreeNode* root) {
vector<int> a;
deque <TreeNode*> c; //定义一个空的队列
c.push_back(root);
while (!c.empty()) { //如果队列不为空
TreeNode* temp = c.front(); //返回队列的第一个元素
if (temp) { //如果是非空结点
a.push_back(temp->val);
c.pop_front(); //出队列
c.push_front(temp->right); //右孩子
c.push_front(temp->left); //左孩子
}
else {
c.pop_front(); //出队列
}
}
return a;
}
};
Binary Tree Preorder Traversal(C++二叉树的前序遍历)
猜你喜欢
转载自blog.csdn.net/coolsunxu/article/details/105372068
今日推荐
周排行