[英]How can I return a bool in a recursive implementation of depth first search?
我想編寫一個函數來檢查兩個二叉樹是否相同。
代碼如下:
bool checkSame(Node* first, Node* second) {
// Check if nodes are the same
// Check left nodes: checkSame(first->left, second->left)
// Check right nodes: checkSame(first->right, second->right)
}
問題是我不知道該返回什么地方。 我發現的所有DFS實現都有一個void返回值。 有沒有一個它返回一個布爾?
另外,我正在尋找遞歸解決方案,而不是迭代解決方案。
你這樣做的方式與調用其他函數而不是遞歸的方式完全相同。
(遞歸的一個大秘密就是遞歸沒什么特別的。)
樹木是相等的,當且僅當
所以
return first->data == second->data
&& checkSame(first->left, second->left)
&& checkSame(first->right, second->right);
處理作為練習留下的空箱子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.