当前位置:   article > 正文

从上到下打印二叉树(二叉树层序遍历)_二叉树下层序遍历

二叉树下层序遍历
题目:

从上到下打印出二叉树的每一个节点,同一层的节点按照从左到右的顺序打印。如下打印出来的结果为[3, 9, 20, 16, 15, 7]

    3
   / \
  9   20
 /   /  \
16  15   7
  • 1
  • 2
  • 3
  • 4
  • 5
解析:

利用队列的先入先出思想来求解,先把根节点放入队列中的队首,如果有子结点,则把子结点依次(先左儿子后右儿子)放入队尾,然后弹出队首元素。接下来重复前面的操作,直到队列元素全部弹出。<知识点:层序遍历>

参考答案:
/***
*	typedef struct node{
*		int val;
*		struct node *left;
*		struct node *right;
*	}TreeNode;
*/

class Solution{
public:
	vector<int> levelOrder(TreeNode* root){
		vector<int> arr;
		if(nullptr == root)
			return arr;
		queue<TreeNode *> que;
		que.push(root);
		while(!que.empty()){
			TreeNode *Node = que.front();
			arr.push_back(Node -> val);
			que.pop();
			if(Node -> left)
				que.push(Node -> left);
			if(Node -> right)
				que.push(Node -> right);
		}
		return arr;
	}
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/837130
推荐阅读
相关标签
  

闽ICP备14008679号