Day92 | 靈神 | 二叉樹 路徑總和

Day92 | 靈神 | 二叉樹 路徑總和

112.路徑總和

112. 路徑總和 - 力扣(LeetCode)

思路:

1.遞歸函數意義

如果在根節點為t的樹中可以找到長度為target的路徑就返回true,找不到就返回false

2.參數和返回值

bool tra(TreeNode *t,int target)

參數中的target在傳入之前會先減掉當前結點的值作為給下一個結點傳入的值

如果在根節點為t的樹中可以找到長度為target的路徑就返回true,找不到就返回false

3.終止條件(邊界條件)

如果我們碰到了空節點,那就是false,說明沒找到路徑

if(t==nullptr)return false; 

4.本層邏輯(非邊界條件)

減去本層節點值之后判斷是否是我們要找的路徑

即在葉子結點,并且target也減到0了

然后遞歸遍歷左右子樹,不管哪邊找到了我們都可以返回true

		target-=t->val;if(t->left==nullptr&&t->right==nullptr)return target==0;bool l=tra(t->left,target);bool r=tra(t->right,target);return l||r;	

完整代碼:

class Solution {
public:bool tra(TreeNode *t,int target){if(t==nullptr)return false; target-=t->val;if(t->left==nullptr&&t->right==nullptr)return target==0;bool l=tra(t->left,target);bool r=tra(t->right,target);return l||r;}bool hasPathSum(TreeNode* root, int targetSum) {return tra(root,targetSum);}
};/*
class Solution {
public:bool flag=false;void tra(TreeNode *t,int target){if(t==nullptr)return;target-=t->val;if(t->left==nullptr&&t->right==nullptr&&target==0)flag=true;tra(t->left,target);tra(t->right,target);}bool hasPathSum(TreeNode* root, int targetSum) {tra(root,targetSum);return flag;}
};*/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901691.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901691.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901691.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

探索鴻蒙應用開發:ArkTS應用執行入口揭秘

# 探索鴻蒙應用開發:ArkTS應用執行入口揭秘 在鴻蒙應用開發的領域中,ArkTS作為聲明式開發語言,為開發者們帶來了便捷與高效。對于剛接觸鴻蒙開發的小伙伴來說,搞清楚ArkTS應用程序的執行入口是邁向成功開發的關鍵一步。今天&…

【Web API系列】Web Shared Storage API之WorkletSharedStorage深度解析與實踐指南

前言 在現代Web開發領域,數據存儲與隱私保護的矛盾始終存在。傳統存儲方案如LocalStorage和Cookies面臨著日益嚴格的安全限制,而跨域數據共享的需求卻在持續增長。正是在這樣的背景下,Web Shared Storage API應運而生,其核心組件…

探索鴻蒙沉浸式:打造無界交互體驗

一、鴻蒙沉浸式簡介 在鴻蒙系統中,沉浸式是一種極具特色的設計理念,它致力于讓用戶在使用應用時能夠全身心投入到內容本身,而盡可能減少被系統界面元素的干擾。通常來說,就是將應用的內容區巧妙地延伸到狀態欄和導航欄所在的界面…

機器學習03——K近鄰

K近鄰算法學習筆記 一、算法簡介 K近鄰算法(K - Nearest Neighbors,簡稱KNN)是一種簡單而有效的分類和回歸算法。它的核心思想是“近朱者赤,近墨者黑”,即一個數據點的類別或值可以通過其周圍最近的K個鄰居來判斷。K…

序列化 反序列化實例

在Python中, pickle 模塊常用于實現對象的序列化和反序列化,以下是一個簡單的實例: import pickle # 定義一個類 class Person: def __init__(self, name, age): self.name name self.age age # 創建一個Person對象 person Person("…

代碼隨想錄算法訓練營第十九天

LeetCode題目: 77. 組合216. 組合總和 III17. 電話號碼的字母組合2537. 統計好子數組的數目(每日一題)516. 最長回文子序列1039. 多邊形三角剖分的最低得分543. 二叉樹的直徑124. 二叉樹中的最大路徑和2246. 相鄰字符不同的最長路徑 其他: 今日總結 往期打卡 77. 組合 跳轉: 7…

存算分離看場景

計算機行業是唯一一個比時裝行業概念更多的行業。概念頻出,最慢的話半年一定出一個,短的話半個月就能看到新的名詞和技術甚至是概念。 存算分離的概念 我第一次聽到存算分離時候還是從Hadoop上聽到的。然后就去問什么是存算分離。聽了講解以后&#xf…

MCP協議,.Net 使用示例

服務器端示例 基礎服務器 以下是一個基礎的 MCP 服務器示例,它使用標準輸入輸出(stdio)作為傳輸方式,并實現了一個簡單的回顯工具: using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.H…

智能語音處理+1.5使用PocketSphinxshinx實現語音轉文本(100%教會)

歡迎來到智能語音處理系列的最后一篇文章,到這里,基本上語音處理是沒問題了. 第一篇:智能語音處理1.1下載需要的庫(100%實現)-CSDN博客 第二篇:智能語音識別1.2用SAPI實現文本轉語音(100%教會)-CSDN博客 第三篇:智能語音處理1.3用SpeechLib實現文本轉語音(100%教會)…

Kubernetes 節點摘除指南

目錄 一、安全摘除節點的標準流程 1. 確認節點名稱及狀態 2. 標記節點為不可調度 3. 排空(Drain)節點 4. 刪除節點 二、驗證節點是否成功摘除 1. 檢查節點列表 2. 檢查節點詳細信息 3. 驗證 Pod 狀態 三、徹底清理節點(可選&#xf…

信息安全管理與評估2021年國賽正式卷答案截圖以及十套國賽卷

2021年全國職業院校技能大賽高職組 “信息安全管理與評估”賽項 任務書1 賽項時間 共計X小時。 賽項信息 賽項內容 競賽階段 任務階段 競賽任務 競賽時間 分值 第一階段 平臺搭建與安全設備配置防護 任務1 網絡平臺搭建 任務2 網絡安全設備配置與防護 第二…

3D語義地圖中的全局路徑規劃!iPPD:基于3D語義地圖的指令引導路徑規劃視覺語言導航

作者: Zehao Wang, Mingxiao Li, Minye Wu, Marie-Francine Moens, Tinne Tuytelaars 單位:魯汶大學電氣工程系,魯汶大學計算機科學系 論文標題: Instruction-guided path planning with 3D semantic maps for vision-language …

《AI大模型應知應會100篇》第20篇:大模型倫理準則與監管趨勢

第20篇:大模型倫理準則與監管趨勢 摘要 隨著人工智能(AI)技術的飛速發展,尤其是大模型(如GPT、PaLM等)在自然語言處理、圖像生成等領域的廣泛應用,AI倫理問題和監管挑戰日益凸顯。本文將梳理當…

【Ai】dify:Linux環境安裝 dify 詳細步驟

一、什么是dify Dify 是一個 開源的大語言模型(LLM)應用開發平臺,旨在幫助開發者快速構建基于 AI 的應用程序,例如智能對話助手、知識庫問答、內容生成工具等。它提供了可視化的流程編排、模型集成、數據管理等功能,降低了開發門檻,支持快速迭代和部署。 核心功能與特點…

CentOS 操作系統下搭建 tsung性能測試環境

寫在前面 為何這么安裝,實際就是這么做的,這是經過好幾次實踐得出的經驗總結。 這為了讓大家更清楚的知道怎么安裝 tsung性能測試環境,按步照搬的安裝即可。 步驟 1、 下載軟件安裝包 CentOS-6.0-x86_64-bin-DVD1.iso jdk-6u4-linux-x64-rpm.bin erlang: otp_src_1…

Vulkanised

Vulkanised 1. About VulkanisedReferences The Premier Vulkan Developer Conference premier /?premi?(r)/ n. 總理;(尤用于報章等) 首相;(加拿大的) 省總理;地區總理 adj. 第一的;首要的;最著名的;最…

C++之 動態數組

一、新建一個動態數組 數組名和下標操作符[]的組合可以被替換成一個指向該數組的基地址的指針和對應的指針運算: int a[20]; int *x a; 指針變量 x 指向數組 a 的地址, a[0] 和 *x 都代表數組的第一個元素。 于是,根據指針運算原則&…

ubuntu1804服務器開啟ftp,局域網共享特定文件給匿名用戶

要在 Ubuntu 18.04 上設置一個 FTP 服務器,滿足以下要求: 允許匿名登錄(無需賬號密碼)。指定分享特定目錄下的文件。只允許只讀下載。 可以使用 vsftpd(Very Secure FTP Daemon)來實現。以下是詳細步驟&a…

mcp和API區別

MCP(Model Context Protocol,模型上下文協議)與傳統API(Application Programming Interface,應用程序編程接口)在技術架構、集成方式和應用場景等方面存在顯著差異,以下是主要區別的總結&#x…

高版本Android (AIDL HAL) 使用HIDL方法

目錄 修改步驟和編譯方法 注意事項 Android 11 引入了使用 AIDL 實現 HAL 的功能。 后續Android新版本,HAL默認切到了使用AIDL. 因此當導入舊HIDL實現方式時,需要做一些修改。 1.將HAL HIDL模塊拷貝到相應目錄,進行編譯 source build/envsetup.sh lunch xxx mmm 模塊路徑 1.…