leetcode 572. 另一个树的子树(Java版)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 572. 另一个树的子树(Java版)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode-cn.com/problems/subtree-of-another-tree/
題解
方法一:深度優先搜索暴力匹配
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/ class Solution {public boolean isSubtree(TreeNode s, TreeNode t) {if (s == null) return false;else if (s.val == t.val && isSameTree(s, t)) return true;else return isSubtree(s.left, t) || isSubtree(s.right, t);}public boolean isSameTree(TreeNode n1, TreeNode n2) {if (n1 == null && n2 == null) return true;if (n1 == null || n2 == null) return false;return n1.val == n2.val && isSameTree(n1.left, n2.left) && isSameTree(n1.right, n2.right);} }其他方法(詳見官方題解)
總結
以上是生活随笔為你收集整理的leetcode 572. 另一个树的子树(Java版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 566. 重塑矩阵(J
- 下一篇: leetcode 575. 分糖果(Ja