刷题

简介: 刷题

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);
}

}

相关文章
|
5月前
刷题(二)
刷题(二)
19 1
|
5月前
|
Serverless C语言
【C刷题】day7
【C刷题】day7
40 0
|
11月前
|
C语言
【C刷题】day5
【C刷题】day5
40 0
【C刷题】day5
|
11月前
|
编译器 数据安全/隐私保护 C++
【C刷题】day4
【C刷题】day4
62 0
【C刷题】day4
|
11月前
|
编译器 C语言
【C刷题】day3
【C刷题】day3
49 0
|
11月前
|
C语言
【C刷题】day6
【C刷题】day6
61 0
|
11月前
【C刷题】day2
【C刷题】day2
53 0
|
JavaScript 前端开发
牛客刷题Day3(三)
牛客刷题Day3(三)
85 0
|
移动开发 前端开发 JavaScript
牛客刷题Day4
牛客刷题Day4
88 0
|
XML JSON JavaScript