按层Z型遍历二叉树(算法)

原创 2015年07月08日 10:57:38

输入一个二叉树,Z字型输出每层二叉树节点。


public ArrayList <ArrayList<Integer>> zizaglevelOder(TreeNode root)
{
	ArrayList<ArrayList<Integer>> res  = new ArrayList<ArrayList<Integer>>();
	if(root == null)
		return res;
	LinkedList <TreeNode> currLevel = new LinkedList<TreeNode>();
	currLevel.add(root);
	boolean leftToRight = true;
	
	while(currLevel.size() > 0)
	{
		ArrayList<Integer> currList = new ArrayList<Integer>();
		LinkedList<TreeNode> nextLevel = new LinkedList <TreeNode>();
		while(currLevel.size() > 0)
		{
			TreeNode node = currLevel.poll();
			if(node.left != null)
				nextLevel.add(node.left);
			if(node.right != null)
				nextLevel.add(node.right);
			if(leftToRight)
				currList.add(node.val);	
			else
				currList.add(0,node.val);	
		}
		res.add(currList);	
		currLevel = nextLevel;
		leftToRight = !leftToRight;
	}
	return res;
}


中序非递归算法遍历二叉树

  • 2013年04月17日 15:44
  • 262KB
  • 下载

算法与数据结构面试题(20)-层序遍历二叉树

题目 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如下面的二叉树,打印的结果是:8,6,10,5,7,9,11 解题思路 利用BF...

实现各种遍历二叉树的算法

  • 2014年06月05日 21:02
  • 30KB
  • 下载

先序遍历二叉树的算法

  • 2010年06月15日 10:35
  • 21KB
  • 下载

算法导论 10.4-2 O(n)时间 递归遍历二叉树

一、题目 请写出一个O(n)时间的递归过程,在给定的n个

逐层遍历二叉树的结点

  • 2008年05月31日 23:06
  • 2KB
  • 下载

遍历二叉树的非递归算法

编写的方法:根据树中结点的遍历规律及顺序直接写出其非递归算法。先序非递归算法【思路】假设:T是要遍历树的根指针,若T != NULL对于非递归算法,引入栈模拟递归工作栈,初始时栈为空。问题:如何用栈来...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:按层Z型遍历二叉树(算法)
举报原因:
原因补充:

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