题解 | #把二叉树打印成多行#

把二叉树打印成多行

http://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288

import java.util.ArrayList;

import java.util.ArrayDeque;

public class Solution {

ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
    ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
    if(pRoot==null)
        return res;
    //层次遍历
    ArrayDeque<TreeNode> dq = new ArrayDeque<>();
    dq.addLast(pRoot);
    while(!dq.isEmpty()){
        ArrayList<Integer> arr = new ArrayList<>();
        int curSize = dq.size();
        while(curSize-->0){
            TreeNode node = dq.pollFirst();
            arr.add(node.val);
            if(node.left!=null) dq.addLast(node.left);
            if(node.right!=null) dq.addLast(node.right);
        }
        res.add(arr);
    }
    return res;
}

}

阿勇算法解集 文章被收录于专栏

对一些基础的,经典的题目的算法题解,每道题的题解尽量做到一题多解,举一反三。其中每一个题解中,若是参考了其他牛人的想法,我会备注出来。

全部评论

相关推荐

明天不下雨了:我靠2022了都去字节了还什么读研我教你****:你好,本人985电子科大在读研一,本科西南大学(211)我在字节跳动实习过。对您的岗位很感兴趣,希望获得一次投递机会。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务