0二叉樹簡單 牛客NC9.
題目描述
給定一個二叉樹和一個值sum,判斷是否有從根節點到葉子節點的節點值之和等於sum的路徑,
例如:
給出如下的二叉樹,sum=22
思路
判斷從根節點到葉子節點的節點值之和是否等於sum的路徑,每次遞迴前都將sum值減去當前結點值,當結點=是葉子節點且值等於sum時,即滿足條件返回true。只要左右子樹有一個是true,則返回true。
示例:
public class Solution {
public boolean hasPathSum (TreeNode root, int sum) {
if(root == null){
return false;
}
if(root.left == null && root.right == null && sum == root.val){
return true;
}
boolean l = hasPathSum(root.left,sum-root.val);
boolean r = hasPathSum(root.right,sum-root.val);
return l || r;
}
}
下面的通過率只有5%,不懂為什麼?資料自測沒問題,自己在ide上除錯也沒發現問題。
public boolean hasPathSum (TreeNode root, int sum) {
// write code here
if(root == null && sum == 0){//當結點為空(即父節點是葉子節點)且sum為0即滿足條件,這想法沒錯啊。
return true;
}
if(root == null){
return false;
}
boolean l = hasPathSum(root.left,sum-root.val);
boolean r = hasPathSum(root.right,sum-root.val);
return l || r;
}
相關文章
- 二叉樹就是這麼簡單二叉樹
- 劍指offer(java實現)第4題“重建二叉樹”-牛客網Java二叉樹
- JavaScript實現簡單二叉查詢樹JavaScript
- 樹和二叉樹簡介二叉樹
- 二叉樹簡介二叉樹
- 二叉樹的簡單實戰 → 一起溫故下二叉樹的遍歷二叉樹
- 洛谷題單指南-二叉樹-P5076 【深基16.例7】普通二叉樹(簡化版)二叉樹
- 小A與尤拉路(牛客-樹的直徑)
- 【leetcode 簡單】第二十七題 二叉樹的最小深度LeetCode二叉樹
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 牛客
- 牛客題霸 [二叉樹中是否存在節點和為指定值的路徑] C++題解/答案二叉樹C++
- 字典樹(字首樹)簡單實現
- 排序二叉樹和平衡二叉樹排序二叉樹
- 二叉樹(順序儲存二叉樹,線索化二叉樹)二叉樹
- 線段樹簡單思路
- 【leetcode 簡單】 第六十八題 二叉搜尋樹的最近公共祖先LeetCode
- 【資料結構與演算法】二叉搜尋樹的簡單封裝資料結構演算法封裝
- 牛客15天刷題ZT50_小美的樹上染色
- 牛客小白月賽15 C 表單 ( map 使用)
- 手擼二叉樹——AVL平衡二叉樹二叉樹
- 手擼二叉樹——二叉查詢樹二叉樹
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- 【牛客訓練記錄】牛客周賽 Round 69
- 【牛客訓練記錄】牛客周賽 Round 70
- 二叉樹二叉樹
- 洛谷題單指南-二叉樹-P4913 【深基16.例3】二叉樹深度二叉樹
- 【牛客】時間
- 【LeetCode-二叉樹】二叉樹前序遍歷LeetCode二叉樹
- 判斷二叉樹是否為滿二叉樹二叉樹
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- leetcode 530. Minimum Absolute Difference in BST二叉搜尋樹的最小絕對差 (簡單)LeetCode
- 團體程式設計天梯賽-玩轉二叉樹(簡潔建樹)程式設計二叉樹
- 【模板】樹分塊(簡單版)
- B 樹的簡單認識
- 自己動手作圖深入理解二叉樹、滿二叉樹及完全二叉樹二叉樹
- 二叉樹、B樹以及B+樹二叉樹
- 平衡二叉樹,B樹,B+樹二叉樹