32.2 把二叉树打印成多行

优质
小牛编辑
186浏览
2023-12-01

NowCoder

题目描述

和上题几乎一样。

解题思路

// java
ArrayList<arraylist> Print(TreeNode pRoot) {
    ArrayList<arraylist> ret = new ArrayList<>();
    Queue queue = new LinkedList<>();
    queue.add(pRoot);
    while (!queue.isEmpty()) {
        ArrayList list = new ArrayList<>();
        int cnt = queue.size();
        while (cnt-- > 0) {
            TreeNode node = queue.poll();
            if (node == null)
                continue;
            list.add(node.val);
            queue.add(node.left);
            queue.add(node.right);
        }
        if (list.size() != 0)
            ret.add(list);
    }
    return ret;
}
</arraylist</arraylist