LeetCode アルゴリズムのバイナリ ツリー - 同じツリー

目次

100. 同じ木 - LeetCode

コード:

操作結果: 


2 つのバイナリ ツリーのルート ノードの合計が与えられた場合 p 、  q 2 つのツリーが同じかどうかをテストする関数を作成します。

2 つのツリーは、構造的に同一であり、同じ値のノードを持つ場合、同一とみなされます。

例 1:

入力: p = [1,2,3]、q = [1,2,3]
出力: true

例 2:

入力: p = [1,2]、q = [1,null,2]
出力: false

例 3:

入力: p = [1,2,1]、q = [1,1,2]
出力: false

ヒント:

  • 両方のツリーのノード数が 範囲[0, 100] 内にあります
  • -104 <= Node.val <= 104

コード:

/**
 * 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 isSameTree(TreeNode p, TreeNode q) {
        // 递归终止条件,都为空或者不相等
        if(p==null&&q==null) return true;
        if(p==null||q==null||p.val!=q.val) return false;
        // 不然就继续往下递归
        return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);
    }
}

操作結果: 

おすすめ

転載: blog.csdn.net/qq_62799214/article/details/133253005