当前位置: 首页 > news >正文

力扣112. 路径总和

在这里插入图片描述
在这里插入图片描述
这一题仍然是遍历二叉树,要注意必须到叶子节点才比较看路径和是不是等于目标和。
因此我们需要判断是不是叶子节点。

 if(root->left==nullptr&&root->right==nullptr){       if(cursum==targetSum){flag=1;}}

还是正常的递归遍历

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int flag;void dfs(TreeNode* root,int targetSum,int cursum){if(root==nullptr){return ;}else{if(root->left==nullptr&&root->right==nullptr){       if(cursum==targetSum){flag=1;}}if(root->left!=nullptr)dfs(root->left,targetSum,cursum+root->left->val);if(root->right!=nullptr)dfs(root->right,targetSum,cursum+root->right->val);}}bool hasPathSum(TreeNode* root, int targetSum) {int cursum=0;if(root==nullptr){return false;}dfs(root,targetSum,0+root->val);if(flag==1){return true;}else{return false;}}
};

时间复杂度O(n)

http://www.dtcms.com/a/299622.html

相关文章:

  • 面试150 回文数
  • React状态管理——Dva
  • React入门指南——指北指南(第二节)
  • LeetCode——面试题 05.01 插入
  • Vue3组件通信方法清单
  • Linux——线程互斥
  • 云计算技术之docker build构建错误
  • Spring循环依赖以及三个级别缓存
  • Zama+OpenZeppelin:将机密智能合约带入 DeFi 和数字资产领域
  • ClickHouse高性能实时分析数据库-高性能的模式设计
  • JavaScript中.splice()的用法
  • Vue 插槽
  • 数据结构自学Day14 -- 利用归并排序思想实现“外排序”
  • 【MySQL 数据库】MySQL基本查询(第二节)
  • 达梦[-2894]:间隔表达式与分区列类型不匹配
  • 「iOS」————继承链与对象的结构
  • 全球节点的概念
  • 原理篇..
  • mysql的lts版本与Innovation版本区别
  • 考研复习-数据结构-第八章-排序
  • 【工具类】Linux 环境利用 uv 安装多版本 python
  • AI 编程还有多远?我们如何迎接 AI 编程时代?
  • MGRE综合实验
  • 大模型开发工具的汇总
  • 小架构step系列26:Spring提供的validator
  • 秋招Day19 - 分布式 - 分布式事务
  • Android 修改系统时间源码阅读
  • DeepSeek算法学习笔记
  • RabbitMQ--Springboot解决消息丢失
  • Spring Boot集成RabbitMQ终极指南:从配置到高级消息处理