重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家介绍利用java如何实现遍历二叉树,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
目前创新互联已为千余家的企业提供了网站建设、域名、虚拟主机、成都网站托管、企业网站设计、市中网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。遍历二叉树,从上往下遍历。但是同层节点可以从左向右遍历,也可以从右向左遍历(也就是之字型遍历),其中,都需要队列进行实现。只是按照之字型稍微麻烦一些。
(1)从上往下打印出二叉树的每个节点,同层节点从左至右打印。
需要一个队列,队列里面放节点(从根节点开始),然后依次进行打印。
import java.util.ArrayList; import java.util.Queue; import java.util.LinkedList; class TreeNode{ int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val){ this.val = val; } } public class Solution { public ArrayListPrintFromTopToBottom(TreeNode root) { ArrayList list = new ArrayList (); if(root == null) return list; Queue queue = new LinkedList (); queue.add(root); while(!queue.isEmpty()){ TreeNode t = queue.poll(); list.add(t.val); if(t.left != null) queue.add(t.left); if(t.right != null) queue.add(t.right); } return list; } }