17 樹的子結構

2021-09-12 19:40:23 字數 686 閱讀 4470

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

遞迴思想,如果根節點相同則遞迴呼叫issubtree(),

如果根節點不相同,則判斷tree1的左子樹和tree2是否相同,

再判斷右子樹和tree2是否相同

/**

public class treenode }*/

public

class

solution

return

issubtree

(root1, root2)

||hassubtree

(root1.left, root2)

||hassubtree

(root1.right, root2);}

public

boolean

issubtree

(treenode root1, treenode root2)

if(root1 == null)

if(root1.val != root2.val)

return

issubtree

(root1.left, root2.left)

&&issubtree

(root1.right, root2.right);}

}

17 樹的子結構

樹的子結構 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任何樹的子結構 思路 首先考慮邊界條件 如果樹a為空或者樹b為空,那麼返回值都應為false 然後,判斷兩棵樹的根結點是否相等,如果相等的話,再判斷樹的左子樹以及右子樹是否分別相等 如果一開始兩棵樹的根結點不相等,那麼遞...

17 樹的子結構

輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 要查詢樹a中是否存在和樹b結構一樣的子樹,我們可以分兩步 第一步在樹a中找到和b的根節點的值一樣的結點r,第二步再判斷樹a中以r為根結點的子樹是不是包含和樹b一樣的結構。以上面的兩棵樹為例來詳細分析這個過程。首先...

17 樹的子結構

輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 用遞迴來實現,從a樹的根節點開始,判斷其所有的節點是不是依次和樹b相同,如不同,遞迴呼叫函式,繼續判斷樹a當前節點的左子樹的所有節點或右子樹的所有節點是否和樹b所有節點相同,直到遍歷到父樹a的葉子節點,如果不是完...