上下打印二叉树

2019-08-26  本文已影响0人  码山上的码农

1.使用迭代法逐层遍历节点
2.使用队列先进先出的特点,从左往右加入队列
3.加入到ArrayList

public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
         Queue<TreeNode> queen = new LinkedList<>();
        ArrayList<Integer> arr = new ArrayList<>();
        queen.offer(root);
        while (!queen.isEmpty()) {
            
        ArrayList<TreeNode> arr1 = new ArrayList<>();
            int cunt = queen.size();
            while (cunt-- > 0) {
            javascript:void(0);
                TreeNode node = queen.poll();
                if (node == null) {
                    continue;
                }
                arr.add(node.val);
                queen.add(node.left);
                queen.add(node.right);
            }
        }
        return arr;
    }
上一篇 下一篇

猜你喜欢

热点阅读