刷題系類 - Python判斷二叉樹是否存在一條路徑滿足和值要求
繼續刷題,判斷二叉樹是否存在一條路徑滿足和值要求。
這個名稱描述很複雜,其實很簡單。如下圖,判斷是否有一個從根節點到葉子節點路徑,和值為8, 就是1 -> 2-> 5。
這個用遞迴來做很簡單,就是判斷輸入節點的值和輸入值是否一樣,如果是而且當前節點為葉子節點,返回True,如果當前節點為空,返回False; 如果都不是,則遞迴到輸入節點子節點,並且輸入值為sum減去當前節點。
這裡使用or 來判單,只有有一組路徑複合就可以返回True
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def hasPathSum(self, root: TreeNode, sum: int) -> bool: if root == None: return False else: if root.left == None and root.right == None and root.val == sum: return True else: return self.hasPathSum(root.left,sum-root.val) or self.hasPathSum(root.right,sum-root.val)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22259926/viewspace-2674079/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 刷題系列 - Python判斷是否映象對稱二叉樹Python二叉樹
- 判斷二叉樹是否為滿二叉樹二叉樹
- shell判斷系統路徑中是否存在空格
- sh指令碼判斷路徑是否存在指令碼
- Python科研武器庫 - 檔案/路徑操作 - 判斷路徑是否存在Python
- shell 判斷檔案或路徑是否存在
- Laravel 5 判斷條件是否存在Laravel
- 牛客題霸 [二叉樹中是否存在節點和為指定值的路徑] C++題解/答案二叉樹C++
- iOS判斷是否存在網路iOS
- 判斷某棵二叉樹是否二叉排序樹二叉樹排序
- python 判斷檔案是否存在Python
- 【C++】判斷一顆二叉樹是否對稱C++二叉樹
- 判斷一個類名或者元素是否存在的思路
- LeetCode題解(Offer26):判斷二叉樹A是否為二叉樹B的子樹(Python)LeetCode二叉樹Python
- LC49判斷二叉樹是否相等二叉樹
- 判斷符合條件記錄是否存在SQL若干SQL
- canvas判斷點是否在路徑內Canvas斷點
- sqlserver判斷欄位值是否存在某個字元SQLServer字元
- 面試題34:二叉樹中和為某一值的路徑面試題二叉樹
- Python中怎麼判斷路徑是否為目錄?Python
- PbootCMS整理判斷是否連結賦值各種條件判斷和標籤boot賦值
- 41:判斷元素是否存在
- nginx判斷路徑是否含有某個引數做判斷Nginx
- python判斷檔案是否存在等操作Python
- jQuery如何判斷一個元素是否存在jQuery
- 如何判斷一個jquery物件是否存在jQuery物件
- javascript判斷一個變數是否存在JavaScript變數
- js如何判斷一個物件是否存在JS物件
- LeetCode題解(Offer28):判斷二叉樹是否左右對稱(Python)LeetCode二叉樹Python
- python 中hash 操作的 key 是否存在的判斷問題.Python
- leetcode------給定一個二叉樹和一個值sum,判斷是否有從根節點到葉子節點的節點值之和等於sum 的路徑,LeetCode二叉樹
- JavaScript 判斷函式是否存在JavaScript函式
- postgresql如何判斷表是否存在SQL
- golang判斷檔案是否存在Golang
- vc判斷檔案是否存在
- jQuery如何判斷元素是否存在jQuery
- 如何判斷Javascript物件是否存在JavaScript物件
- MySQL判斷表名是否存在MySql