當前位置:網站首頁>【二叉樹】二叉樹路徑總和 II
【二叉樹】二叉樹路徑總和 II
2022-01-27 18:16:56 【豪冷啊】
0x00 題目
給你二叉樹的根節點 root
和一個整數目標和 targetSum
找出 所有
從 根節點
到 葉子節點
路徑總和
等於給定 目標和
的路徑
葉子節點
是指沒有子節點的節點
0x01 思路
這道題目跟之前的一道題目類似:二叉樹的所有路徑
只要找出所有路徑即可
本題則加了一個條件:
路徑總
和 要與 目標和
相等
找出符合條件的路徑即可
0x02 解法
語言:Swift
樹節點:TreeNode
public class TreeNode {
public var val: Int
public var left: TreeNode?
public var right: TreeNode?
public init() { self.val = 0; self.left = nil; self.right = nil; }
public init(_ val: Int) { self.val = val; self.left = nil; self.right = nil; }
public init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
self.val = val
self.left = left
self.right = right
}
}
解法:
func pathSum(_ root: TreeNode?, _ targetSum: Int) -> [[Int]] {
guard let root = root else { return [] }
// 存放結果
var res: [[Int]] = []
// 存放節點值
var arr: [Int] = []
func dfs(_ root: TreeNode?, _ target: Int) {
guard let root = root else { return }
// 添加一個數
arr.append(root.val)
// 减小目標
let val = target - root.val
// 葉子節點
if root.left == nil && root.right == nil {
// 符合條件
if val == 0 {
res.append(arr)
}
// 删除最後一個數,返回後,添加其他節點值繼續判斷
arr.removeLast()
return
}
dfs(root.left, val)
dfs(root.right, val)
// 删除最後一個數,返回後,添加其他節點值繼續判斷
arr.removeLast()
}
dfs(root, targetSum)
return res
}
小筆記
做筆記,一步到比特
App Store 搜索即可
版權聲明
本文為[豪冷啊]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201271816559350.html
邊欄推薦
猜你喜歡
隨機推薦
- win7系統上將電腦變為熱點的辦法
- Jedis連接阿裏雲redis
- 線程的生命周期,真的沒那麼簡單
- 【行研資料】2021年中國AI中臺賦能城市空間管理白皮書——附下載
- emplace_back 和 push_back 的區別
- 藍橋杯第三講--二分【習題】
- 地址的地址?
- Qt給靜態屏保加上粒子特效
- 圖的著色問題
- cesium導入旋轉動畫
- QGC雜記
- 面試面到自閉,職場反思,原來是我沒有掌握其中精髓
- CISP——關於網絡安全法(分享筆記)
- 通過ReentrantLock源碼看AQS源碼實現
- Js基礎_作用域
- Endnote使用方法——檢查參考文獻
- 記錄在appA裏面打開appB進行登錄,再次點擊桌面圖標appB避免再次重新啟動程序的解决辦法
- 自建Kubernetes的LoadBalancer類型服務方案-MetalLB
- JS中的forEach()和map()方法介紹
- 【ISO15765_UDS&OBD診斷】-02-Network layer網絡層介紹
- 百度BML-飛槳服務器以及Jetson nano部署實戰案例(下)
- 適合10歲小孩投保的保險產品都有什麼啊?少兒險可以買哪些險種?
- 北京大學2022年對元宇宙的全球研究報告
- 網上期貨開戶安全麼?期貨開戶准備什麼資料?
- 查看多臺jps的脚本
- #全網寒假最火特輯# 【第一章】 C語言之牛客網刷題筆記 【點進來保證讓知識充實你一整個寒假】
- Material Design 3 全新的進階版本UI庫
- 雲演 CTF Web題型 lfi 文件包含
- 【leectode 2022.1.22】批量處理任務
- IC驗證中的force/release 學習整理(4)後門訪問機制成與敗(續)
- Leetcode 算法面試沖刺 實戰 五(數組與循環)(十二)
- 數學建模-模糊綜合評價法(評價模型)
- Vulnhub靶機recon: 1滲透
- DWR异常:org.xml.sax.SAXException
- ZZULIOJ 1173: 密碼解密(指針專題)
- 掃雷初階版
- DCGAN 源碼解析
- [渝粵教育] 東南大學 工程熱力學 參考 資料
- Go 自定義日期時間格式解析解决方案 - 解决 `parsing time xx as xx: cannot parse xx as xx` 錯誤
- Redis 是如何處理命令的(客戶端)