【LeetCode算法】第112题:路径总和

目录

一、题目描述

二、初次解答

三、官方解法

四、总结


一、题目描述

二、初次解答

**1. 思路:二叉树先序遍历。**首先访问根节点,若根节点是叶子节点并且值等于目标值,则返回true,否则递归访问左子树和右子树,只要左子树和右子树的返回值有一个为true即可。

2. 代码:

cpp 复制代码
bool hasPathSum(struct TreeNode* root, int targetSum) {
    if(!root)
        return false;
    if(!root->left && !root->right){
        return root->val == targetSum;
    }
    return hasPathSum(root->left, targetSum-root->val) || hasPathSum(root->right, targetSum-root->val);
}

**3. 优点:**仅遍历一遍,时间复杂度为O(n)。

**4. 缺点:**利用了递归,空间复杂度为O(H)。

三、官方解法

官方解法一需要手动维护队列,空间开销更大;官方解法二与上述解法相同。

四、总结

针对二叉树的路径问题,利用二叉树先序遍历的递归方法可以轻松解决。

相关推荐
ShoreKiten8 小时前
cpp考前急救
数据结构·c++·算法
纪伊路上盛名在8 小时前
机器学习中常见的距离度量函数 Distance metrics
人工智能·算法·机器学习·数据分析·统计
sheeta19988 小时前
LeetCode 每日一题笔记 日期:2026.05.07 题目:3660. 找到所有可以到达的最大值
笔记·算法·leetcode
经济元宇宙8 小时前
哪款工业仿真软件上手简单?企业常用款推荐
人工智能·算法
Hesionberger8 小时前
LeetCode79:单词搜索DFS回溯详解
java·开发语言·c++·python·算法·leetcode·c#
大侠区块链8 小时前
我面试了上百个想进 AI 公司的人,发现他们都搞错了一件事--深度精读 | 对话 Anthropic Claude Code 产品负责人 Cat Wu
人工智能·面试·职场和发展
纪伊路上盛名在9 小时前
聊一聊关于gene的富集分析
算法·数据分析·统计分析·计算生物·gene
米粒19 小时前
力扣算法刷题 Day 62 最短路算法
算法·leetcode·职场和发展
时空自由民.9 小时前
三个按键的,短按1S,长按3S,单击,双击,三击的检测程序
大数据·数据库·计算机网络·算法
dog2509 小时前
圆锥曲线命题的定义和证明
网络·算法·php