8. Pattern: Tree Depth First Search,树上的DFS

本文介绍了力扣经典题目的树形深度优先搜索(DFS)解题策略,通过递归或迭代方式处理树节点,遵循前序、中序、后序遍历。文中列举了多个涉及路径总和的力扣题目,如112、113、437、666等,适合于理解DFS在解决树结构问题中的应用。
摘要由CSDN通过智能技术生成

目录

力扣经典题

112. 路径总和Binary Tree Path Sum (easy)

113. 路径总和 IIAll Paths for a Sum (medium)

437. 路径总和 IIISum of Path Numbers (medium)

666. 路径和 IVPath With Given Sequence (medium)

Count Paths for a Sum (medium)


树形DFS基于深搜(Depth First Search (DFS))技术来实现树的遍历。

咱们可以用递归(或是显示栈,如果你想用迭代方式的话)来记录遍历过程中访问过的父节点。

该模式的运行方式是从根节点开始,如果该节点不是叶子节点,我们需要干三件事:

  1. 需要区别我们是先处理根节点(pre-order,前序),处理孩子节点之间处理根节点(in-order,中序),还是处理完所有孩子再处理根节点(post-order,后序)。
  2. 递归处理当前节点的左右孩子。

识别树形DFS:

  • 你需要按前中后序的DFS方式遍历树
  • 如果该问题的解一般离叶子节点比较近。

 

力扣经典题

112. 路径总和Binary Tree Path Sum (easy)

class Solution {
    public boolean hasPathSum(TreeNode root, int sum) {
        if(root==null){
            return false;//解决root为空的情况
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值