91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中如何求解二叉樹中和為某一值的路徑

發布時間:2021-08-03 11:09:31 來源:億速云 閱讀:127 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Python中如何求解二叉樹中和為某一值的路徑的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

題目描述

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

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

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中如何求解二叉樹中和為某一值的路徑”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永胜县| 元朗区| 贡觉县| 内丘县| 宁明县| 孝昌县| 长宁区| 海门市| 眉山市| 衡阳市| 南开区| 屏山县| 宣城市| 进贤县| 嘉鱼县| 丰台区| 岳池县| 吉水县| 虹口区| 咸阳市| 盐山县| 阳朔县| 邻水| 冀州市| 繁峙县| 江永县| 托克逊县| 都江堰市| 正定县| 错那县| 郴州市| 新沂市| 广汉市| 浙江省| 馆陶县| 稻城县| 安宁市| 阿城市| 开原市| 额尔古纳市| 平定县|