是否為子樹 DFS

2021-08-18 02:13:26 字數 348 閱讀 1641

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

錯誤解法

bool hassubtree(treenode* proot1, treenode* proot2)

}

正確解法:bool型問題可以用遞迴解決

注意準確理解邊界條件

bool issubtree(treenode *proota, treenode *prootb)

bool hassubtree(treenode *proot1, treenode *proot2)

參考:

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

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

判斷樹T2是否為T1的子樹

你有兩顆非常大的二叉樹 t1,有幾百萬個節點 t2有幾百個節點。設計乙個演算法,判斷t2是否為t1的子樹。如果t1有乙個節點n,其子樹與t2一模一樣,則t2為t1的子樹。也就是說,從節點n 處把樹砍斷,得到的樹與t2完全相同。方法一 在規模較小且較簡單的問題中,我們可以建立乙個字串,表示中序和前序遍...

JS判斷是否為數字,是否為整數,是否為浮點數

正規表示式方法 function checkrate input 下面為普通函式寫法 function baseisnotnum thenum return false function baseisnotint theint return false function baseisnotfloat...