題目:輸入兩棵二叉樹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,...