题解 | #从上至下打印树节点值#

从上往下打印二叉树

http://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701

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.LinkedList; public class Solution {

public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
    ArrayList<Integer> arr = new ArrayList<Integer>();//用来存储遍历后的结果
    LinkedList<TreeNode> list  =  new LinkedList<TreeNode>();//用来作层次遍历
    TreeNode temp = null;
    if(root == null){
        return arr;
    }
    list.add(root);
    while(!list.isEmpty()){
        temp = list.poll();
        if(temp.left != null){
            list.add(temp.left);
        }
        if(temp.right != null){
            list.add(temp.right);
        }
        arr.add(temp.val);
    }
    
    return arr;

//
} }

全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务