微软,Google面试题 (12) —— 从上往下遍历二叉树
2010-08-23 22:54
246 查看
题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
例如输入
8
/ /
6 10
// //
5 7 9 11
输出8 6 10 5 7 9 11。
解法:树是图的一种特殊的退化形式。本题就是一个广度优先遍历图的问题。首先把root放进一个队列。开始循环,当队列不为空的时候。pop并且打印队首元素。然后把对手元素的孩子节点从左到右依次push进队列。继续循环。
例如输入
8
/ /
6 10
// //
5 7 9 11
输出8 6 10 5 7 9 11。
解法:树是图的一种特殊的退化形式。本题就是一个广度优先遍历图的问题。首先把root放进一个队列。开始循环,当队列不为空的时候。pop并且打印队首元素。然后把对手元素的孩子节点从左到右依次push进队列。继续循环。
void BSF(Node* root) { queue.push_back(root); while (!queue.empty()) { Node *temp = queue.front(); queue.pop(); if (!temp->left) { queue.push_back(temp->left); } if (!temp->right) { queue.push_back(temp->right); } print(temp); } }
相关文章推荐
- [程序员面试题精选100题]12.从上往下遍历二叉树
- 微软,Google面试题 (4) —— 在二叉树中找出和为某一值的所有路径
- 程序员面试题精选100题(12)-从上往下遍历二元树[数据结构]
- 剑指offer 面试题23:从上往下打印二叉树(二叉树的层次遍历BFS) 题解
- 程序员面试题精选100题(12)-从上往下遍历二元树
- 程序员面试题精选100题(12)-从上往下遍历二元树
- 层次遍历二叉树 ——微软面试题
- 剑指Offer----面试题23:从上往下打印二叉树(层序遍历)
- 面试题23:从上往下打印二叉树(层序遍历) && 面试题25:二叉树中和为某一值的路径
- 剑指offer之面试题23:从上往下打印二叉树
- 剑指offer-面试题23 分层遍历二叉树
- java面试题:如何求二叉树中节点的最大距离+层序遍历
- 微软100题(43)二叉树的前序遍历
- 剑指offer——面试题23:从上往下打印二叉树(树的递归创建,广度优先搜索,队列)
- 李洪强iOS经典面试题35-按层遍历二叉树的节点
- 剑指Offer面试题23(Java版):从上往下打印二叉树
- 剑指offer_面试题_从上往下打印二叉树
- 剑指offer——面试题23:从上往下打印二叉树
- 在一个重男轻女的国家里,每个家庭都想生男孩,如果他们生的孩子是女孩,就再生一个,直到生下的是男孩为止。这样的国家,男女比例会是多少? - Google, 谷歌,百度,baidu,阿里巴巴,alibaba,微软,华为,huawei面试题,
- 如果你看到钟的时间是3:15,那一刻时针和分针的夹角是多少?(肯定不是0度!) - Google, 谷歌,百度,baidu,阿里巴巴,alibaba,微软,华为,huawei面试题,