dfs

本文深入探讨了深度优先搜索(DFS)在树结构中的应用,通过具体实例讲解了如何利用DFS遍历树并将叶节点的值收集到列表中。文章提供了代码示例,并列举了几道与DFS相关的经典算法题目,如岛屿的最大面积、二叉搜索树的范围和以及二叉树的堂兄弟节点,帮助读者理解DFS在实际问题解决中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深度探索dfs(即按着一个子树探索完,再开始继续探索)

按深度探索的方法把叶节点存在一个列表中


public void dfs(TreeNode node, List<Integer> leafValues) {
        if (node != null) {
            if (node.left == null && node.right == null)
                leafValues.add(node.val);
            dfs(node.left, leafValues);
            dfs(node.right, leafValues);
        }

例题:695. 岛屿的最大面积
938. 二叉搜索树的范围和
993. 二叉树的堂兄弟节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值