簡單判斷B樹是否是A樹的子樹

2021-10-04 09:28:35 字數 549 閱讀 2462

輸入兩棵二叉樹a,b,判斷b是不是a的子結構。(ps:我們約定空樹不是任意乙個樹的子結構)

public class solution 

//如果找不到,那麼就再去root的左兒子當作起點,去判斷是否包含tree2

if(!result)

//判斷右節點

if(!result)

}return result;

}public boolean issontree(treenode node1,treenode node2)

//如果tree2還沒有遍歷完,tree1卻遍歷完了。返回false

if (node1==null)

//如果其中有乙個點沒有對應上,返回false

if (node1.val!=node2.val)

//如果根節點對應的上,那麼就分別去子節點裡面匹配

return issontree(node1.left,node2.left)&&issontree(node1.right,node2.right);

}}

判斷乙個樹是否是另外乙個樹的子樹

很簡單,假如說判斷b是否為a的乙個子樹,則首先對a進行遍歷,然後如果遍歷時候節點的值等於b的根節點,則進入判斷函式進行判斷,如果完全一樣,則該函式返回true,否則返回false,在後面遞迴判斷時候,要判斷前面函式返回的是true還是false,如果是true,則它的子樹就不用再判斷了,直接返回那個...

劍指offer 判斷B樹是否是A樹的子結構

題目描述 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 一道蠻有意思的題,一開始理解錯題意了,只考慮了b樹完全覆蓋了a中某棵子樹,並且以為一定存在根節點相同就完全匹配b樹的子樹。然後想著只要從a樹根節點往下遍歷直到找到乙個節點與b的根節點匹配即可。還是想的太...

判斷樹是否為二叉樹的子樹

給定的結構是hassubtree root1,root2 即判斷root1做根的樹中是否含有root2節點做根的樹。二叉樹的問題基本可以確定是用遞迴了,肯定是先遞迴遍歷前者找到與右邊樹的根相等的節點,然後再判斷對應子樹。即遍歷前樹,找到乙個節點和root2相等,那麼就把其作為根的子樹列為考慮物件,接...