牛客网(剑指offer) 第十七题 树的子结构
生活随笔
收集整理的這篇文章主要介紹了
牛客网(剑指offer) 第十七题 树的子结构
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述
輸入兩棵二叉樹A,B,判斷B是不是A的子結(jié)構(gòu)。(ps:我們約定空樹不是任意一個樹的子結(jié)構(gòu))
<?php/*class TreeNode{var $val;var $left = NULL;var $right = NULL;function __construct($val){$this->val = $val;} }*/ function HasSubtree($pRoot1, $pRoot2) {// write code here$result=false;//只有當(dāng)兩個樹都不為空時 才繼續(xù)判斷if($pRoot2!==null && $pRoot1!==null){//如果兩個根節(jié)點匹配上了if($pRoot1->val==$pRoot2->val){$result=PanDuan($pRoot1, $pRoot2);}//如果根節(jié)點匹配不到 去左子樹看看是否能匹配到if(!$result){$result = HasSubtree($pRoot1->left, $pRoot2);}//如果根節(jié)點匹配不到 去右子樹看看是否能匹配到if(!$result){$result = HasSubtree($pRoot1->right, $pRoot2);}}return $result; }function PanDuan($node1,$node2){if($node2==null){//說明子樹2查找完畢return true;}if($node1==null){return false;}if($node1->val != $node2->val){return false;}return PanDuan($node1->left,$node2->left) && PanDuan($node1->right,$node2->right);}總結(jié)
以上是生活随笔為你收集整理的牛客网(剑指offer) 第十七题 树的子结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客网(剑指offer) 第十六题 合并
- 下一篇: 牛客网(剑指offer) 第十八题