LintCode-69.二叉树的层次遍历
2017-05-04 15:44
447 查看
二叉树的层次遍历
给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)
样例
给一棵二叉树 {3,9,20,#,#,15,7} :返回他的分层遍历结果:
[
[3],
[9,20],
[15,7]
]
挑战
挑战1:只使用一个队列去实现它挑战2:用DFS算法来做
标签
领英 脸书 二叉树遍历 队列 二叉树 宽度优先搜索优步code
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */ class Solution { /** * @param root: The root of binary tree. * @return: Level order a list of lists of integer */ public: vector<vector<int>> levelOrder(TreeNode *root) { // write your code here vector<vector<int> > order; queue<TreeNode*> queue; int len; if(root == NULL) { return order; } queue.push(root); len = queue.size(); while(!queue.empty()) { vector<int> base; len = queue.size(); while(len--) { TreeNode *tmp=queue.front(); base.push_back(tmp->val); queue.pop(); if(tmp->left) queue.push(tmp->left); if(tmp->right) queue.push(tmp->right); } order.push_back(base); } return order; } };
相关文章推荐
- LintCode-剑指Offer-(69)二叉树的层次遍历
- LintCode 69-二叉树的层次遍历
- 【LintCode-69】二叉树的层次遍历(Java实现)
- LintCode | 69. 二叉树的层次遍历
- LintCode 69 二叉树的层次遍历
- lintcode-二叉树的层次遍历-69
- 【LintCode 简单】69. 二叉树的层次遍历
- python_lintcode_69二叉树的层次遍历
- lintcode 69. 二叉树的层次遍历
- LintCode【简单】69. 二叉树的层次遍历。代码及思路
- [LintCode 69] 二叉树的层次遍历 (Python)
- LintCode:二叉树的层次遍历
- LintCode-二叉树的层次遍历 II
- LintCode-剑指Offer-(70)二叉树的层次遍历Ⅱ
- [Lintcode]Binary Tree Level Order Traversal II 二叉树的层次遍历 II
- lintcode : 二叉树的层次遍历II
- LintCode 二叉树的前序,中序,后序,层次遍历
- 二叉树层次遍历-LintCode
- lintcode: 二叉树的锯齿形层次遍历
- LintCode:二叉树的锯齿形层次遍历