国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python編程求解二叉樹中和為某一值的路徑代碼示例

2020-02-16 11:27:48
字體:
來源:轉載
供稿:網友

題目描述

輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。

思路:首先要理解題意,是從根節點往子節點連。

1、如果只有根節點或者找到葉子節點,我們就把其對應的val值返回

2、如果不是葉子節點,我們分別對根節點的左子樹、右子樹進行遞歸,直到找到葉子結點。然后遍歷把葉子結點和父節點對應的val組成的序列返回上一層;如果沒找到路徑,其實也返回了序列,只不過是[]

代碼如下:

# -*- coding:utf-8 -*- class TreeNode():   def __init__(self,x):     self.val = x     self.left = None     self.right = None  def function(root,target_number):   result = []   if not root:     return result #  如果只有根節點或者找到葉子節點,我們就把其值返回   if not root.left and not root.right and root.val == target_number:     return [[root.val]]   else: #  如果不是葉子節點,我們分別對根節點的左子樹、右子樹進行遞歸,注意修改變量:     left = function(root.left,target_number - root.val)     right = function(root.right,target_number - root.val)     for item in left+right:       result.append([root.val]+item)     return result 

總結

以上就是本文關于Python編程求解二叉樹中和為某一值的路徑代碼示例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:

Python探索之創建二叉樹

Python算法之求n個節點不同二叉樹個數

如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河间市| 竹溪县| 木里| 龙南县| 襄城县| 康乐县| 淅川县| 涟源市| 忻州市| 大城县| 高尔夫| 绩溪县| 遂昌县| 本溪市| 汾阳市| 刚察县| 叙永县| 闵行区| 兰西县| 囊谦县| 琼海市| 平南县| 昭苏县| 吕梁市| 同仁县| 平遥县| 海阳市| 武山县| 青州市| 当阳市| 临武县| 杂多县| 拉孜县| 吐鲁番市| 涞水县| 海晏县| 惠州市| 辽中县| 筠连县| 太谷县| 延津县|