刷题

简介: 刷题

class Solution {

public List<List<Integer>> levelOrderBottom(TreeNode root) {
    //解题思路:DFS遍历,注意结果采用头插法
    List<List<Integer>> result = new ArrayList();
    dfs(result, root, 0);
    return result;
}

private void dfs(List<List<Integer>> result, TreeNode root, int level){
    if(root == null){
        return;
    }
    //初始化新的层在第一行
    if(level == result.size()){
        result.add(0, new ArrayList());
    }
    //写入结果集;第level层要插入从后往前数的第level层
    result.get(result.size() - level - 1).add(root.val);
    
    //左子树
    dfs(result, root.left, level + 1);
    //右子树
    dfs(result, root.right, level + 1);
}

}

相关文章
|
18天前
刷题(一)
刷题(一)
18 0
|
18天前
刷题(二)
刷题(二)
9 1
|
18天前
|
Serverless C语言
【C刷题】day7
【C刷题】day7
31 0
|
7月前
|
C语言
【C刷题】day5
【C刷题】day5
27 0
【C刷题】day5
|
7月前
【C刷题】day2
【C刷题】day2
38 0
|
7月前
|
编译器 C语言
【C刷题】day3
【C刷题】day3
35 0
|
7月前
|
编译器 数据安全/隐私保护 C++
【C刷题】day4
【C刷题】day4
37 0
【C刷题】day4
|
7月前
|
C语言
【C刷题】day1
【C刷题】day1
71 0
|
7月前
|
C语言
【C刷题】day6
【C刷题】day6
49 0
|
12月前
|
XML JSON JavaScript

热门文章

最新文章