劍指Offer 面試題18 樹的子結構

2021-08-04 19:22:40 字數 449 閱讀 5199

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

分析:這裡說的子結構不是子樹,只是根據值來判斷,更像是「包含」關係吧。首先需要在a樹中找到和b根節點值一樣的結點,然後判斷a的子樹和b是否結構和值相同。在a中找到和b的根結點值相同的操作等同於二叉樹遍歷,用先序遍歷邏輯上自然點把。找到這個結點,開始判斷兩個樹是否相同。同樣採用遞迴思想,分別判斷根、左孩子、右孩子值是否相同,只要有不同就return false,終止條件是b遍歷完為空。

**:

/*

struct treenode

};*/

class solution

return result;

}bool issubtree(treenode *tree1, treenode *tree2)

};

劍指Offer 面試題18 樹的子結構

樹的子結構 輸入兩顆二叉樹a和b,判斷b是不是a的子結構。例如 樹a 樹b 8 8 87 9 292 47過程總結 在樹a中查詢與樹b中根節點一樣的值,然後遞迴比較兩者的左子樹和右子樹是否相同 遞迴出口是 樹b的左右子樹為空 這道題目有兩個遞迴 主遞迴 用於確定樹a中的那個根節點與樹b的根節點進行比...

劍指offer 面試題26 樹的子結構

完整 位址 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 找到樹a中與樹b根節點值相同的節點,設樹a中該節點為subroot 在遍歷樹b的同時,遍歷subroot,如果遍歷完樹b發現subroot中沒有與b不一致的地方,則b是a的子結構 遍歷樹b時,發現su...

劍指offer 面試題26 樹的子結構

輸入兩棵二叉樹a和b,判斷b是不是a的子結構。約定空樹不是任意乙個樹的子結構 b是a的子結構,即 a中有出現和b相同的結構和節點值。例如 給定的樹 a 3 4 5 1 2 給定的樹 b 4 1返回 true,因為 b 與 a 的乙個子樹擁有相同的結構和節點值。示例 1 輸入 a 1,2,3 b 3,...