真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何分析python二叉樹中和為某一值的路徑

這篇文章給大家介紹如何分析python二叉樹中和為某一值的路徑,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供湄潭企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為湄潭眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

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

示例:
給定如下二叉樹,以及目標(biāo)和 sum = 22,

5
            / \
           4   8
          /   / \
         11  13  4
        /  \    / \
       7    2  5   1

返回:

[
  [5,4,11,2],
  [5,8,4,5]
]

提示:

  1. 節(jié)點(diǎn)總數(shù) <= 10000

注意:本題與主站 113 題相同:https://leetcode-cn.com/problems/path-sum-ii/

解題思路:

1,此題只是,先序遍歷的一個(gè)變形

2,遞歸執(zhí)行,深度優(yōu)先遍歷,這個(gè)時(shí)候sum變?yōu)閟um-root.Val

3,到達(dá)葉子節(jié)點(diǎn)的時(shí)候,判斷sum==root.Val,是則將整個(gè)鏈路加入結(jié)果里,否則,繼續(xù)遍歷

4,需要注意一點(diǎn)了,go的slice傳遞的是值,但是數(shù)據(jù)引用的是同一份

5,copy的時(shí)候需要先make分配空間,否則copy不成功

代碼實(shí)現(xiàn)

/** * Definition for a binary tree node. * type TreeNode struct { *     Val int *     Left *TreeNode *     Right *TreeNode * } */func pathSum(root *TreeNode, sum int) [][]int {   var p[]int   var r [][]int
  r=dfs(root,sum,p,r)   return r}
func dfs(root *TreeNode, sum int,path []int,ret [][]int)[][]int{    if root==nil {       return ret    }    path=append(path,root.Val)    if root.Left==nil && root.Right==nil {         if sum==root.Val{              p:=make([]int,len(path))             copy(p,path)         ret=append(ret,p)        fmt.Println(1,":",path,p,sum,root,ret)         }        return ret    }    if root.Left==nil{        return dfs(root.Right,sum-root.Val,path,ret)    }
   if root.Right==nil{        return dfs(root.Left,sum-root.Val,path,ret)    }    l:=dfs(root.Left,sum-root.Val,path,ret)    r:=dfs(root.Right,sum-root.Val,path,ret)    fmt.Println(ret,l,r)    ret=append(ret,l...)    ret=append(ret,r...)    return ret}

關(guān)于如何分析python二叉樹中和為某一值的路徑就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


標(biāo)題名稱:如何分析python二叉樹中和為某一值的路徑
鏈接分享:http://weahome.cn/article/pjiopj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部