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】普通二叉樹(簡化版)二叉樹
- 牛客題霸 [二叉樹中是否存在節點和為指定值的路徑] C++題解/答案二叉樹C++
- 二叉樹 & 二叉查詢樹二叉樹
- Binary Tree Traversals(HDU1710)二叉樹的簡單應用二叉樹
- 一個簡單的學生成績管理程式(二叉樹實現) (轉)二叉樹
- 字典樹(字首樹)簡單實現
- 排序二叉樹和平衡二叉樹排序二叉樹
- 二叉查詢樹(二叉排序樹)排序
- 二叉樹(順序儲存二叉樹,線索化二叉樹)二叉樹
- 牛客周賽48
- 手擼二叉樹——二叉查詢樹二叉樹
- 手擼二叉樹——AVL平衡二叉樹二叉樹
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- 二叉樹二叉樹
- 線段樹簡單思路
- 【資料結構與演算法】二叉搜尋樹的簡單封裝資料結構演算法封裝
- 【leetcode 簡單】第二十七題 二叉樹的最小深度LeetCode二叉樹
- 二叉樹的應用(1)--二叉樹排序樹基本操作二叉樹排序
- 判斷二叉樹是否為滿二叉樹二叉樹
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- 洛谷題單指南-二叉樹-P4913 【深基16.例3】二叉樹深度二叉樹
- 牛客周賽 Round 8
- 牛客周賽Ronud 46
- 牛客周賽 Round 47
- 牛客周賽 Round 40
- 牛客周賽 Round 63
- 牛客周賽 Round 38
- 牛客周賽 Round 3
- 牛客周賽 Round 1
- 牛客周賽 Round 7
- 牛客周賽 Round 57