JAVA實現從上往下列印二叉樹(《劍指offer》)
阿新 • • 發佈:2019-02-02
題目描述
從上往下打印出二叉樹的每個節點,同層節點從左至右列印。import java.util.ArrayList; import java.util.LinkedList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { if (root == null) { return result; } ArrayList<Integer> result=new ArrayList<Integer>(); LinkedList<TreeNode> queue=new LinkedList<TreeNode>(); queue.offer(root); result.add(root.val); while(!queue.isEmpty()){ int size=queue.size(); for(int i=0;i<size;i++){ TreeNode head=queue.poll(); if(head.left!=null){ queue.offer(head.left); result.add(head.left.val); } if(head.right!=null){ queue.offer(head.right); result.add(head.right.val); } } } return result; } }