亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2018年01月04日 15:20:10   作者:明柳夢(mèng)少  
這篇文章主要介紹了Python編程求解二叉樹(shù)中和為某一值的路徑代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下

題目描述

輸入一顆二叉樹(shù)和一個(gè)整數(shù),打印出二叉樹(shù)中結(jié)點(diǎn)值的和為輸入整數(shù)的所有路徑。路徑定義為從樹(shù)的根結(jié)點(diǎn)開(kāi)始往下一直到葉結(jié)點(diǎn)所經(jīng)過(guò)的結(jié)點(diǎn)形成一條路徑。

思路:首先要理解題意,是從根節(jié)點(diǎn)往子節(jié)點(diǎn)連。

1、如果只有根節(jié)點(diǎn)或者找到葉子節(jié)點(diǎn),我們就把其對(duì)應(yīng)的val值返回

2、如果不是葉子節(jié)點(diǎn),我們分別對(duì)根節(jié)點(diǎn)的左子樹(shù)、右子樹(shù)進(jìn)行遞歸,直到找到葉子結(jié)點(diǎn)。然后遍歷把葉子結(jié)點(diǎn)和父節(jié)點(diǎn)對(duì)應(yīng)的val組成的序列返回上一層;如果沒(méi)找到路徑,其實(shí)也返回了序列,只不過(guò)是[]

代碼如下:

# -*- 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 
#  如果只有根節(jié)點(diǎn)或者找到葉子節(jié)點(diǎn),我們就把其值返回 
  if not root.left and not root.right and root.val == target_number: 
    return [[root.val]] 
  else: 
#  如果不是葉子節(jié)點(diǎn),我們分別對(duì)根節(jié)點(diǎn)的左子樹(shù)、右子樹(shù)進(jìn)行遞歸,注意修改變量: 
    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 

總結(jié)

以上就是本文關(guān)于Python編程求解二叉樹(shù)中和為某一值的路徑代碼示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Python探索之創(chuàng)建二叉樹(shù)

Python算法之求n個(gè)節(jié)點(diǎn)不同二叉樹(shù)個(gè)數(shù)

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

相關(guān)文章

  • Pandas 按索引合并數(shù)據(jù)集的方法

    Pandas 按索引合并數(shù)據(jù)集的方法

    今天小編就為大家分享一篇Pandas 按索引合并數(shù)據(jù)集的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • python3發(fā)送request請(qǐng)求及查看返回結(jié)果實(shí)例

    python3發(fā)送request請(qǐng)求及查看返回結(jié)果實(shí)例

    這篇文章主要介紹了python3發(fā)送request請(qǐng)求及查看返回結(jié)果實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 使用systemd部署服務(wù)的過(guò)程解析

    使用systemd部署服務(wù)的過(guò)程解析

    這篇文章主要介紹了使用systemd部署服務(wù)的過(guò)程解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • python實(shí)例方法的使用注意及代碼實(shí)例

    python實(shí)例方法的使用注意及代碼實(shí)例

    在本篇文章里小編給大家總結(jié)的是關(guān)于python實(shí)例方法的使用注意及代碼實(shí)例內(nèi)容,對(duì)此有興趣的朋友們可以參考下。
    2022-11-11
  • 詳解程序意外中斷自動(dòng)重啟shell腳本(以Python為例)

    詳解程序意外中斷自動(dòng)重啟shell腳本(以Python為例)

    這篇文章主要介紹了詳解程序意外中斷自動(dòng)重啟shell腳本(以Python為例),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • opencv實(shí)踐項(xiàng)目之圖像拼接詳細(xì)步驟

    opencv實(shí)踐項(xiàng)目之圖像拼接詳細(xì)步驟

    OpenCV的應(yīng)用領(lǐng)域非常廣泛,包括圖像拼接、圖像降噪、產(chǎn)品質(zhì)檢、人機(jī)交互、人臉識(shí)別、動(dòng)作識(shí)別、動(dòng)作跟蹤、無(wú)人駕駛等,下面這篇文章主要給大家介紹了關(guān)于opencv實(shí)踐項(xiàng)目之圖像拼接的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 啟動(dòng)targetcli時(shí)遇到錯(cuò)誤解決辦法

    啟動(dòng)targetcli時(shí)遇到錯(cuò)誤解決辦法

    這篇文章主要介紹了啟動(dòng)targetcli時(shí)遇到錯(cuò)誤解決辦法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家遇到這樣的錯(cuò)誤解決,需要的朋友可以參考下
    2017-10-10
  • 詳解model.train()和model.eval()兩種模式的原理與用法

    詳解model.train()和model.eval()兩種模式的原理與用法

    這篇文章主要介紹了詳解model.train()和model.eval()兩種模式的原理與用法,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,那么看完這篇文章一定會(huì)對(duì)你有所幫助
    2023-03-03
  • Python 常用的安裝Module方式匯總

    Python 常用的安裝Module方式匯總

    這篇文章主要介紹了Python 常用的安裝Module方式匯總,需要的朋友可以參考下
    2017-05-05
  • Python優(yōu)化代碼的技巧分享

    Python優(yōu)化代碼的技巧分享

    Python?是?一種用著很爽的語(yǔ)言,Python也有著很多特性和技巧,可以幫助我們編寫(xiě)更高效、更優(yōu)雅、更易維護(hù)的代碼,下面小編為大家整理了一些常用的Python代碼優(yōu)化的簡(jiǎn)單小技巧,希望對(duì)大家有所幫助
    2023-09-09

最新評(píng)論