《剑指offer》从上往下打印二叉树
生活随笔
收集整理的這篇文章主要介紹了
《剑指offer》从上往下打印二叉树
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:從上往下打印出二叉樹的每個節點,同層節點從左至右打印。
解析:此題利用隊列可以很好的解決層次打印,只需要按順序入隊以及出隊就可以了(一點說明:root為null的時候需要考慮,java中的隊列是Queue,實現類LinkedList,而方法poll是移除并返回隊首元素)
import java.util.ArrayList; /** public class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}} */ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; public class Solution {public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {ArrayList<Integer> result = new ArrayList<>();Queue<TreeNode> queue = new LinkedList<TreeNode>();if(root==null){return result;}queue.add(root);while(!queue.isEmpty()){//隊列不為空TreeNode node = queue.poll();//隊首出隊result.add(node.val);if(node.left!=null){queue.add(node.left);}if(node.right!=null){queue.add(node.right);}}return result;} }總結
以上是生活随笔為你收集整理的《剑指offer》从上往下打印二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《剑指offer》栈的压入、弹出序列
- 下一篇: 《剑指offer》字符串的排列