200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 剑指offer23:从上到下打印二叉树

剑指offer23:从上到下打印二叉树

时间:2021-03-01 11:19:46

相关推荐

剑指offer23:从上到下打印二叉树

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。

解题思路

用队列来实现:

从根节点开始,每次打印一个节点都判断该节点是否有子节点,如果有则放在队列末端;取出队列最前面的节点,重复1直至队列为空。

/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};*/class Solution {public:vector<int> PrintFromTopToBottom(TreeNode* root) {vector<int> treelist;if(root==NULL){return treelist;}queue<TreeNode*> deque_data;deque_data.push(root);while(deque_data.size()!=0){TreeNode* tmp = deque_data.front();deque_data.pop();treelist.push_back(tmp->val);if(tmp->left) deque_data.push(tmp->left);if(tmp->right) deque_data.push(tmp->right);}return treelist;}};

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。