給定兩個非空二叉樹 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是否與樹t相等,如果不相等,則判斷樹t是否在樹s的左子樹、右子樹中。
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution
//然後判斷t是否在s的子樹中
return s != null &&
(issubtree
(s->left, t)
||issubtree
(s->right, t));
}//判斷以s為根的樹是否與以t為根的樹相同
bool myissubtree
(treenode* s, treenode* t)
if(s-
>val != t-
>val)
//然後比較s->left和t->left是否相等,s->right和t->right是否相等
LeetCode 另乙個樹的子樹
給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。示例1 給定的樹 s 給定的樹 t 返回 true,因為 t 與 s 的乙個子樹擁有相同的結構和節點值。示例2 給定的樹 s...
LeetCode另乙個樹的子樹
給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。示例 1 給定的樹 s 給定的樹 t 返回 true,因為 t 與 s 的乙個子樹擁有相同的結構和節點值。示例 2 給定的樹...
另乙個樹的子樹
給定兩個非空二叉樹 s 和 t,檢驗 s 中是否包含和 t 具有相同結構和節點值的子樹。s 的乙個子樹包括 s 的乙個節點和這個節點的所有子孫。s 也可以看做它自身的一棵子樹。示例 1 給定的樹 s 3 4 5 1 2 給定的樹 t 4 1 2 返回 true,因為 t 與 s 的乙個子樹擁有相同的...