主要是要構建乙個輔助函式:來判斷以x為根節點的樹是否包含b
//b是以a為根節點的子樹
if(a.val == b.val &&
(helper
(a.left, b.left)
&&helper
(a.right, b.right)))
//b是以a為左、右節點的子樹。上述三種情況只要滿足一種就ok
return
issubstructure
(a.left, b)
||issubstructure
(a.right, b);}
// 判斷樹 a 中 以 n_a為根節點的子樹 是否包含樹 b
private
boolean
helper
(treenode root1, treenode root2)
// 當節點 a 為空:說明已經越過樹 a 葉子節點,即匹配失敗,返回 false ;
if(root1 == null)
if(root1.val == root2.val)
else
}}
劍指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 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 樹的子結構
輸入兩棵二叉樹a和b,判斷b是不是a的子結構。約定空樹不是任意乙個樹的子結構 b是a的子結構,即 a中有出現和b相同的結構和節點值。例如 給定的樹 a 3 4 5 1 2 給定的樹 b 4 1返回 true,因為 b 與 a 的乙個子樹擁有相同的結構和節點值。definition for a bin...