LeetCode——104. 二叉树的最大深度

tech2024-06-14  53

二叉树的最大深度

题目思路代码结果

题目

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

思路

用广搜吧,把每一层的节点都拓展进去,然后,利用一个size来记录当前层的节点个数,当size==0时,表明把当前层的节点都拓展完毕了,就把答案的数目自增1.

代码

import java.util.LinkedList; import java.util.Queue; //树的节点 class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } class Solution { public int maxDepth(TreeNode root) { if (root==null) return 0; //广搜队列 Queue<TreeNode> queue=new LinkedList(); int ans=0;//结果 queue.offer(root); while (!queue.isEmpty()) { int size=queue.size();//当前队列的层的数目 while (size>0) //当前层的节点个数 { TreeNode node=queue.poll(); if (node.left!=null) queue.offer(node.left); if (node.right!=null) queue.offer(node.right); --size;//每次讲当前层的节点拓展完后,当前层的节点数据自减1 } ++ans;//搜完一层,答案数目自增1 } return ans; } }

结果

简单搜索题,没有什么好说的!

最新回复(0)