package com.example.demo; /** * 100. 相同的树 * 给定两个二叉树,编写一个函数来检验它们是否相同。 * <p> * 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 * <p> * 示例 1: * <p> * 输入: 1 1 * / \ / \ * 2 3 2 3 * <p> * [1,2,3], [1,2,3] * <p> * 输出: true * 示例 2: * <p> * 输入: 1 1 * / \ * 2 2 * <p> * [1,2], [1,null,2] * <p> * 输出: false * 示例 3: * <p> * 输入: 1 1 * / \ / \ * 2 1 1 2 * <p> * [1,2,1], [1,1,2] * <p> * 输出: false * 通过次数92,625提交次数159,997 */ public class Lc100 { public static boolean isSameTree(TreeNode p, TreeNode q) { if(p==null && q==null){ return true; } if(p==null || q==null){ return false; } if(p.val != q.val){ return false; } return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right); } public static void main(String[] args) { Integer[] arr = new Integer[]{1, 2, 3, 4, 5, 6, 7}; TreeNode root = CreateNode.createTree(arr).get(0); TreeNode root1 = root; System.out.println(isSameTree(root,root1)); } }