面試題26 樹的子結構

2021-09-25 13:14:48 字數 1044 閱讀 5043

題目:輸入兩棵二叉樹a和b,判斷b是不是a的子結構。

#includeusing namespace std;

struct binarytreenode ;

bool doestree1hastree2(binarytreenode* proot1, binarytreenode* proot2);

bool equal(double num1, double num2);

//1.在樹1中找到乙個與樹2根節點相同的節點

bool hassubtree(binarytreenode* proot1, binarytreenode* proot2)

if (!res)

if (!res)

} return res;

}//2.判斷樹1中的該節點是否有包含樹2

bool doestree1hastree2(binarytreenode* proot1, binarytreenode* proot2)

if (proot1 == nullptr)

if (!equal(proot1->m_dbvalue, proot2->m_dbvalue))

return doestree1hastree2(proot1->m_pleft, proot2->m_pleft) && doestree1hastree2(proot1->m_pright, proot2->m_pright);

}bool equal(double num1, double num2)

else

}//***************==

binarytreenode* createbinarytreenode(double dbvalue)

void connecttreenodes(binarytreenode* pparent, binarytreenode* pleft, binarytreenode* pright)

}void destroytree(binarytreenode* proot)

}int main()

面試題26 樹的子結構

題目 輸入兩棵二叉樹a和b,判斷b是不是a的子結構。約定空樹不是任意乙個樹的子結構 b是a的子結構,即 a中有出現和b相同的結構和節點值。示例 輸入 a 3,4,5,1,2 b 4,1 輸出 true 方法1 遞迴解法 思想 先再 a 中找到根結點相同的子樹,然後再判斷這顆子樹是否是我們要找到的子樹...

面試題26 樹的子結構

nowcoder header content type text html charset utf 8 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 p148 class treenode function hassubtree proot1,proot2...

LeetCode 面試題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,...