Leetoce--572. 另一个树的子树(java)
給定兩個非空二叉樹 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。
代碼:
/**
?*?Definition?for?a?binary?tree?node.
?*?public?class?TreeNode?{
?*?????int?val;
?*?????TreeNode?left;
?*?????TreeNode?right;
?*?????TreeNode(int?x)?{?val?=?x;?}
?*?}
?*/
class?Solution?{
????public?boolean?isSubtree(TreeNode?s,?TreeNode?t)?{
????????if(s==null)?return?false;
????????return?helper(s,t)||isSubtree(s.left,t)||isSubtree(s.right,t);
????}
????public?boolean?helper(TreeNode?s,TreeNode?t){
????????if(s==null&&t==null){
????????????return?true;
????????}
????????if(s==null||t==null){
????????????return?false;
????????}
????????if(s.val!=t.val){
????????????return?false;
????????}
????????return?helper(s.left,t.left)&&helper(s.right,t.right);
????}
}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Leetoce--572. 另一个树的子树(java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode--15. 三数之和
- 下一篇: Leetcode--27. 移除元素