題目描述
輸入兩棵二叉樹a,b,判斷b是不是a的子結構。(ps:我們約定空樹不是任意乙個樹的子結構)
思路:數還有子樹,那肯定是用遞迴寫比較方便了。題目要做的是從a 中找b ,所以需要遍歷一遍a樹並且尋找a中與b的頭節點相等的那個節點,找到這個節點後就遍歷a樹和b樹,看是否相等。第二個方法的遞迴結束條件分為三種:一:b是空的了,即意味著所有父節點都相等,所以可以返回true。二:a是空的,即不滿足ab相等所以返回false。因為a是null不能與b比較。三:ab不相等直接返回false;
第二個方法遞迴是要將左右子樹一起遞迴,它們返回的boolean值做邏輯與才是結果。
public
class 樹的子結構
}public
class
solution
boolean result=
false;if
(root1.val==root2.val)if(
!result)if(
!result)
return result;
}public
boolean
hastree
(treenode root1, treenode root2)
}}
劍指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,...
劍指offer面試題26
面試題26 複雜鍊錶的複製 題目 請實現函式complexlistnode clone complexlistnode phead 複製乙個複雜鍊錶。在複製鍊錶中,每個結點除了有乙個m pnext指標指向下乙個結點外,還有乙個m psibling指向鍊錶中任意結點或者null。結點的c 定義如下 s...