牛客劍指Offer面試題26 樹的子結構

2021-10-02 01:18:57 字數 634 閱讀 1833

題目描述

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

解題思路

1.判斷樹a中有無與樹b的根節點相同的節點r,如無相同節點,則樹b肯定不是樹a子結構

2.如樹a中有樹b的根節點,則遞迴的判斷其各自左右節點的值是否相同

注意:注意已知題幹的審題,如果給出的樹節點的資料域為double或float型資料(如劍指offer書上),則判斷樹a和樹b節點值是否相同時不能直接用==,因為可能包括小數(float 和 double型小數),有誤差. 這種情況判斷只能判斷二者之差的絕對值是否在乙個很小的範圍內如(-0.0000001, 0.0000001).即定義了**中的equal

/*

struct treenode

};*/

class

solution

return result;

}private

:bool

doestreeahastreeb

(treenode* proot1, treenode* proot2)

/* bool equal(double num1, double num2)

*/};

劍指offer面試題26

面試題26 複雜鍊錶的複製 題目 請實現函式complexlistnode clone complexlistnode phead 複製乙個複雜鍊錶。在複製鍊錶中,每個結點除了有乙個m pnext指標指向下乙個結點外,還有乙個m psibling指向鍊錶中任意結點或者null。結點的c 定義如下 s...

劍指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,...