另乙個樹的子樹

2021-09-27 04:45:15 字數 841 閱讀 5251

給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。

示例 1:

給定的樹 s:

3/ \

4 5

/ \1 2

給定的樹 t:

4/ \

1 2

返回 true,因為 t 與 s 的乙個子樹擁有相同的結構和節點值。

示例 2:

給定的樹 s:

3/ \

4 5

/ \1 2/0

給定的樹 t:

4/ \

1 2

返回 false。

解題思路:先寫乙個判斷兩個樹相等的方法,然後不斷地對s樹往s的子樹進行遞迴,並不斷與目標樹進行對比,若相等則返回true,不相等返回false

public boolean issubtree(treenode s, treenode t) 

if (s != null && t == null)

if (s == null && t != null)

if (issametree(s, t))

return issubtree(s.left, t) || issubtree(s.right, t);

}public boolean issametree(treenode p, treenode q)

if (p != null && q != null && p.val == q.val) else

}

另乙個樹的子樹

給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。示例 1 給定的樹 s 3 4 5 1 2 給定的樹 t 4 1 2 返回 true,因為 t 與 s 的乙個子樹擁有相同的...

另乙個樹的子樹

給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。遞迴class solution object def issubtree self,s,t def ifsame s,t ...

572 另乙個樹的子樹

題目分析 另外寫乙個函式用於判斷兩顆二叉樹是不是相同的。然後依次挪動s的位置,對s當前指的節點呼叫上面的函式,進行判斷。definition for a binary tree node.struct treenode class solution else if s null t null if ...