好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > php實現二叉樹中和為某一值的路徑方法

php實現二叉樹中和為某一值的路徑方法

熱門標簽:地圖標注怎么做商戶驗證 兼職做地圖標注好賺錢嗎 山東電銷卡外呼系統原理是什么 蘇州外呼系統有效果嗎 智能電銷語音機器人資訊 400 電話 辦理 打開百度地圖標注 海南外呼系統方案 亳州企業外呼系統

二叉樹中和為某一值的路徑:

輸入一顆二叉樹的跟節點和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,數組長度大的數組靠前)

思路:

1、二叉樹的前序遍歷,中左右順序

2、把目標值target傳進去,target-=val

3、target為0并且left和right都為null,達到葉結點

4、函數外部兩個數組,list數組存一條路徑,listAll數組存所有路徑

FindPath(root,target)

  if root==null return listAll

  list[]=root.val

  target-=root.val

  if target==0  root->left==null  root->right==null

    listAll[]=list

  FindPath(root->left,target)

  FindPath(root->right,target)

  //如果到了這條路徑的跟結點,并沒有達到目標,就刪掉最后的結點,退回上一個結點

  array_pop(list)

  return listAll
?php

class TreeNode{

  var $val;

  var $left = NULL;

  var $right = NULL;

  function __construct($val){

    $this->val = $val;

  }  

}

 

function FindPath($root,$target)

{

    static $list=array();

    static $listAll=array();

    if($root==null){

        return $listAll;

    }  

    $target-=$root->val;

    $list[]=$root->val;

    if($target==0  $root->left==null  $root->right==null){

        $listAll[]=$list;

    }  

    FindPath($root->left,$target);

    FindPath($root->right,$target);

    array_pop($list);

    return $listAll;

}

 

$node10=new TreeNode(10);

$node5=new TreeNode(5);

$node12=new TreeNode(12);

$node4=new TreeNode(4);

$node7=new TreeNode(7);

 

$node10->left=$node5;

$node10->right=$node12;

$node5->left=$node4;

$node5->left=$node7;

 

$tree=$node10;

 

$res=FindPath($tree,22);

var_dump($res);
?php

/*class TreeNode{

  var $val;

  var $left = NULL;

  var $right = NULL;

  function __construct($val){

    $this->val = $val;

  }

}*/

function FindPath($root,$target)

{

  $list=array();

  $listAll=array();

  $res=dfs($root,$target,$list,$listAll);

  return $res;

}

 

function dfs($root,$target,$list,$listAll)

{

 

    if($root==null){

        return $listAll;

    }  

    $target-=$root->val;

    $list[]=$root->val;

    if($target==0  $root->left==null  $root->right==null){

         

        $listAll[]=$list;

    }  

    dfs($root->left,$target,$list,$listAll);

    dfs($root->right,$target,$list,$listAll);

    array_pop($list);

    return $listAll;

}

以上就是本次內容的全部實例代碼,大家可以本次測試一下,感謝大家對腳本之家的支持。

您可能感興趣的文章:
  • PHP排序二叉樹基本功能實現方法示例
  • PHP實現二叉樹深度優先遍歷(前序、中序、后序)和廣度優先遍歷(層次)實例詳解
  • PHP實現從上往下打印二叉樹的方法
  • PHP獲取二叉樹鏡像的方法
  • PHP實現按之字形順序打印二叉樹的方法
  • PHP基于非遞歸算法實現先序、中序及后序遍歷二叉樹操作示例
  • PHP實現判斷二叉樹是否對稱的方法
  • PHP實現繪制二叉樹圖形顯示功能詳解【包括二叉搜索樹、平衡樹及紅黑樹】
  • PHP完全二叉樹定義與實現方法示例

標簽:萊蕪 呼倫貝爾 紹興 安康 溫州 金華 清遠 綏化

巨人網絡通訊聲明:本文標題《php實現二叉樹中和為某一值的路徑方法》,本文關鍵詞  php,實現,二叉,樹,中和,為,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php實現二叉樹中和為某一值的路徑方法》相關的同類信息!
  • 本頁收集關于php實現二叉樹中和為某一值的路徑方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: xxxxxxx泡妞免费| 在办公室挺进市长美妇雪臀| 痞子gay大猛一xnxx直播| 宅福利WANIMAL无圣光| 夜夜性| 真人抽搐一进一出gif_三级全黄 | 国产91丝袜香蕉在线播放| 69式互舔高潮视频免费播放| 玖玖中文字幕| 刘亦菲b站刺激战场视频播放量| 韩国色情巜肉欲瑜伽教练| 99热只有精品一区二区| 午夜精品久久久久久久99无限制| 欧美freeoo性另类特级| 日本wwwww视频| 一前一后三个人轮换的英文怎么写| 国产午夜精品一区二区芒果视频| 精品少妇人妻av无码专区偷人| 久久精品这里只有精品| 国产精品久久久久精品驿站APP| 欧美97人人模人人爽| 封神榜老版36集免费观看| 91蜜桃黑人人妻| 美国一级毛片完整高清| 色戒梁朝伟根部进入汤唯图片| 禁慢天堂网址| 国产精品美女一区二区| 夫妇当面交换着做完整| 99国产精品久久久久久久| 嗯啊…老师你的奶真软真大| 久久精品亚洲AV无码喷奶水男男| 晚上睡不着想看看b站| 动漫黄视频| 巨大乳人妻中文字幕| 亚洲AV久久一二三四又色又色| 国产成人久久综合热| 换着玩人妻HD中文字幕| 蜜臀av无码久久精品色欲动图| 女主被七个男的一起上| 女被啪到深处出白浆gif动态图视频| 精品国产三级国产AⅤ在线观看 |