亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

中西区| 武威市| 荔波县| 寿光市| 库尔勒市| 北海市| 合肥市| 疏勒县| 广宁县| 高清| 汝阳县| 阳山县| 蕉岭县| 贡嘎县| 锦屏县| 若尔盖县| 图们市| 汨罗市| 白玉县| 易门县| 墨竹工卡县| 原平市| 张家港市| 信丰县| 玉环县| 乌拉特后旗| 积石山| 启东市| 绥化市| 西青区| 大足县| 二连浩特市| 隆尧县| 工布江达县| 保靖县| 连云港市| 都江堰市| 永城市| 达日县| 凌源市| 沅江市|