題目:輸入兩棵二叉樹a和b,判斷b是不是a的子結構。(約定空樹不是任意乙個樹的子結構)b是a的子結構, 即 a中有出現和b相同的結構和節點值。示例:輸入:a = [3,4,5,1,2], b = [4,1]
輸出:true
方法1:遞迴解法
思想:先再 a 中找到根結點相同的子樹,然後再判斷這顆子樹是否是我們要找到的子樹
class
solution
if(result ==
false)if
(result ==
false)}
return result;
}public
static
boolean
checksubstructure
(treenode root1, treenode root2)
// root2 不為空的時候,root1 為空,那麼返回 false
if(root1 == null)
if(root1.val != root2.val)
// 再同時判斷左右子樹是否相同
return
checksubstructure
(root1.left, root2.left)
&&checksubstructure
(root1.right, root2.right);}
}
面試題26 樹的子結構
題目 輸入兩棵二叉樹a和b,判斷b是不是a的子結構。includeusing namespace std struct binarytreenode bool doestree1hastree2 binarytreenode proot1,binarytreenode proot2 bool equ...
面試題26 樹的子結構
nowcoder header content type text html charset utf 8 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 p148 class treenode function hassubtree proot1,proot2...
LeetCode 面試題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,...