這個題做出來了
第一想法是,b樹的root節點值非常重要,先要找到a樹和b.root值一樣的節點,才能進行下面的判斷。
所以先把找到節點後,再找結構的函式寫出來:
public遞迴的條件是boolean
test(treenode a,treenode b)
//a可能為null,又因為b為null的結果全部排除了,所以直接返回錯誤
if(a.val!=b.val)
if(b.left!=null
)
}if(b.right!=null
)
}return
true
; }
a不含b子結構===test(a,b)為false&test(a.left,b)為false&test(a.right,b)為false
可能需要&&?
publicboolean
issubstructure(treenode a, treenode b)
//遞迴遍歷這個樹,如果找到節點符合的,test,如果不符合就下乙個
if(!test(a,b)&&!issubstructure(a.left,b)&&!issubstructure(a.right,b))
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...