輸入兩棵二叉樹a和b,判斷b是不是a的子結構。(約定空樹不是任意乙個樹的子結構)
b是a的子結構, 即 a中有出現和b相同的結構和節點值。
例如:給定的樹 a:
3
/ \ 4
5/ \
12
給定的樹 b:
4
/1
返回 true,因為 b 與 a 的乙個子樹擁有相同的結構和節點值。
示例 1:
輸入:a =[1
,2,3
], b =[3
,1]輸出:false
示例 2:
輸入:a =[3
,4,5
,1,2
], b =[4
,1]輸出:true
限制:
0 <= 節點個數 <= 10000
先序遍歷樹 a中的每個節點 ;判斷樹 a 中 以對應節點為根節點的子樹是否包含樹 b。
終止條件:
參考鏈結
//遍歷a中的每乙個節點
public
boolean
issubstructure
(treenode a, treenode b)
//判斷以a為根節點的子樹是否包含b
public
boolean
recur
(treenode a, treenode b)
提交結果:
劍指offer26題 樹的子結構
輸入兩棵二叉樹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第18題(樹的子結構)
本部落格旨在個人總結回顧 題目描述 輸入兩棵二叉樹a和b,判斷b是不是a的子結構。二叉樹結點的定義如下 struct binarytreenode 解題思路 理解題目要求 b結構中結點所存的值與a子結構所存值相同即b為a的子結構。要判斷b結構是否為a的子結構就需要遍歷a的子結構,可使用遞迴來解決該問...
劍指offer26 樹的子結構
輸入兩棵二叉樹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,...