輸入兩棵二叉樹a,b,判斷b是不是a的子結構。(ps:我們約定空樹不是任意乙個樹的子結構)
/**
public class treenode }*/
public class solution
// 如果沒有找到再去root1的左孩子節點為起點,去判斷是否包含root2
if (!res)
// 如果還沒有找到再去右孩子節點為起點,去判斷時候包含root2
if (!res)
} return res;
} public boolean doestree1hastree2(treenode node1, treenode node2)
if (node1 == null)
if (node1.val != node2.val)
return false;
// 如果根節點對應,分別取左右子節點匹配
return doestree1hastree2(node1.left, node2.left) && doestree1hastree2(node1.right, node2.right);
}}
劍指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 T26樹的子結構
思想 雙重遞迴 第一重遞迴用於在a樹中找到於b樹的根結點相同的結點c,當找到後再去遞迴判斷以c為結點的子樹中是否包含了樹b,都找不到時直接return false definition for a binary tree node.public class treenode class soluti...
劍指 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,...