国产探花免费观看_亚洲丰满少妇自慰呻吟_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個節點不同二叉樹個數

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘西| 青田县| 东山县| 利川市| 瑞丽市| 无棣县| 井冈山市| 康保县| 淮安市| 沂水县| 曲水县| 乌鲁木齐县| 五寨县| 错那县| 宝丰县| 石河子市| 瑞昌市| 曲松县| 邢台市| 前郭尔| 贵州省| 保定市| 峡江县| 铁岭市| 瑞金市| 巴楚县| 姜堰市| 邓州市| 越西县| 武隆县| 五常市| 昌乐县| 凤翔县| 宜黄县| 龙井市| 涞源县| 吉木萨尔县| 莱州市| 三河市| 玉溪市| 河北省|