1. 首页
  2. Leetcode经典148题

leetcode-104-Maximum-Depth-of-Binary-Tree

题目描述(简单难度)

leetcode-104-Maximum-Depth-of-Binary-Tree

输出二叉树的深度。

解法一 DFS

依旧是考的二叉树的遍历。最简单的思路就是用递归进行 DFS 即可。

public int maxDepth(TreeNode root) {
    if (root == null) {
        return 0;
    }
    return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;
}

解法二 BFS

可以直接仿照 public int maxDepth(TreeNode root) { Queue<TreeNode> queue = new LinkedList<TreeNode>(); List<List<Integer>> ans = new LinkedList<List<Integer>>(); if (root == null) return 0; queue.offer(root); int level = 0; while (!queue.isEmpty()) { int levelNum = queue.size(); // 当前层元素的个数 for (int i = 0; i < levelNum; i++) { TreeNode curNode = queue.poll(); if (curNode != null) { if (curNode.left != null) { queue.offer(curNode.left); } if (curNode.right != null) { queue.offer(curNode.right); } } } level++; } return level; }

依旧考的是二叉树的遍历方式,没有什么难点。

作者:windliang

来源:https://windliang.cc

JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

标题:leetcode-104-Maximum-Depth-of-Binary-Tree

链接:https://www.javajike.com/article/3241.html

« leetcode-103-Binary-Tree-Zigzag-Level-Order-Traversal
leetcode-105-Construct-Binary-Tree-from-Preorder-and-Inorder-Traversal»

相关推荐

QR code