把二叉树打印成多行

原创 2015年07月09日 15:02:10


  • 时间限制:1秒空间限制:32768K
  • 通过比例:36.66%
  • 最佳记录:0 ms|8552K

题目描述

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

/*
struct TreeNode {
	int val;
	struct TreeNode *left;
	struct TreeNode *right;
	TreeNode(int x) :
			val(x), left(NULL), right(NULL) {
	}
};
*/
class Solution {
public:
		vector<vector<int> > Print(TreeNode* pRoot) {
			vector<vector<int> > ret;
            if(!pRoot) return ret;
            vector<TreeNode *> queue;
            vector<int> curval;
            int start=0,end=0;
            queue.push_back(pRoot);
            
            while(start<=end){
                for(int i=start;i<=end;++i){
                    if(queue[i]->left) queue.push_back(queue[i]->left);
                    if(queue[i]->right) queue.push_back(queue[i]->right);
                	curval.push_back(queue[i]->val);
                }
                
                ret.push_back(curval);
                curval.clear();
                start=end+1;
                end=queue.size()-1;
            }
            return ret;
		}
};


剑指offer----把二叉树打印成多行----java实现

利用层次遍历的算法,设置变量last指向当前层的最后一个节点,设置变量count记录当前层已经访问的节点的个数,当count等于last时,表示该层访问结束。 层次遍历在求树的宽度、输出某一层节点,...
  • snow_7
  • snow_7
  • 2016年07月16日 20:55
  • 995

把二叉树打印成多行

需要用两个变量来记录下一层有多少个结点需要打印以及本次还有多少个结点未打印。...
  • u200814499
  • u200814499
  • 2014年10月14日 14:14
  • 1268

把二叉树打印成多行(Java实现)

本题为剑指offer面试题60 牛客网测试地址:https://www.nowcoder.com/questionTerminal/445c44d982d04483b04a54f298796288 ...
  • zjkC050818
  • zjkC050818
  • 2017年06月11日 10:14
  • 718

【剑指Offer学习】【面试题60:把二叉树打印出多行】

题目:从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印一行。解题思路  用一个队列来保存将要打印的结点。为了把二叉树的每一行单独打印到一行里,我们需要两个变量:一个变量表示在当前的...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月13日 08:00
  • 3086

《剑指offer》把二叉树打印成多行

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】 题目链接:http://www.nowcoder.com/p...
  • libin1105
  • libin1105
  • 2015年09月13日 23:04
  • 1272

把二叉树打印成多行(java版)

【题目描述】从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。【解题思路】层序遍历二叉树,依次打印出每层节点,遇到空节点跳过。//非递归import java.util.ArrayLis...
  • ouyangyanlan
  • ouyangyanlan
  • 2017年06月06日 11:20
  • 1035

二叉树14:把二叉树打印成多行

二叉树14:把二叉树打印成多行
  • qq_27703417
  • qq_27703417
  • 2017年05月03日 22:56
  • 188

二叉树打印成多行

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。/* struct TreeNode { int val; struct TreeNode *left; str...
  • wangchao7281
  • wangchao7281
  • 2016年08月03日 21:42
  • 443

56.把二叉树打印成多行

把二叉树打印成多行 参与人数:1574时间限制:1秒空间限制:32768K 算法知识视频讲解 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 这道题可以在55...
  • chengonghao
  • chengonghao
  • 2016年05月19日 18:47
  • 278

剑指offer(57)-把二叉树打印成多行

题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。代码/* struct TreeNode { int val; struct TreeNode *left; ...
  • pelsor
  • pelsor
  • 2016年07月13日 10:36
  • 332
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:把二叉树打印成多行
举报原因:
原因补充:

(最多只允许输入30个字)