輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構)
// test20.cpp : 定義控制台應用程序的入口點。 // ...
遞歸設計思路: A 判斷子樹根值是否相等。 A 如果是相等,需要一個可以判斷該根左右孩子結點是否相等的遞歸函數。 A 如果不等,找大樹的左右孩子結點當根結點,遞歸到A步驟。 為了簡化代碼,提高代碼的閱讀障礙,使用短路法 ...
2017-09-04 00:16 0 3275 推薦指數:
// test20.cpp : 定義控制台應用程序的入口點。 // ...
本文章討論兩個問題: ①如何判斷兩棵二叉樹的結構是一樣的、對應的每個結點都有着相同的值。--即判斷兩棵二叉樹是一樣的 ②給定兩棵二叉樹,如何判斷一棵二叉樹是另一棵二叉樹的子結構 ③給定兩棵二叉樹,如何判斷一棵二叉樹是另一棵二叉樹的子樹 注意,子結點與子樹不同。如下圖所示,2,3,4都是 ...
1. 二叉樹 二叉樹的特點: ① 所有非葉子節點至多擁有兩個兒子(Left和Right); ② 所有節點存儲一個關鍵字; ③ 非葉子節點的左指針指向小於其關鍵字的子樹,右指針指向大於其關鍵字的子樹; 二叉樹的搜索,從根節點開始,如果查詢的關鍵字與結點的關鍵字 ...
算法思想:先序遍歷,遞歸實現。先判斷根節點是否相等,然后在判斷左右子樹是否相等。代碼如下 ...
這是一道比較經典的題目。我先是在百度的在線筆試中遇到,然后發現劍指Offer上有原題。當然題目並不完全一樣不過大致相同。 百度筆試是給你兩個根節點判斷第棵樹是不是第一棵樹的子樹。劍指Offer是問你第二顆數是不是第一棵樹的子結構(也就是說可是是第一棵二叉樹的中間階段)。 筆試的時候恁 ...