力扣:100. 相同的树(Java)

目录

题目描述

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

输入:

p = [1,2,3], q = [1,2,3]

输出:

true

代码实现:

java 复制代码
/**
 * 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;
        } else if (p == null || q == null) {// 树结点任一不为空
            return false;
        } else if (p.val != q.val) {// 树结点都不为空且具有不同的值
            return false;
        } else {// 树结点都不为空且具有相同的值
                // 递归比较左子树与右子树是否相同
            return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
        }
    }
}
相关推荐
Liudef065 分钟前
基于HTML与Java的简易在线会议系统实现
java·前端·html
JosieBook15 分钟前
【Java编程动手学】Java常用工具类
java·python·mysql
oioihoii18 分钟前
C++11标准库算法:深入理解std::none_of
java·c++·算法
老虎062737 分钟前
数据结构(Java)--位运算
java·开发语言·数据结构
yanjiaweiya37 分钟前
云原生-集群管理续
java·开发语言·云原生
Swift社区38 分钟前
Swift 解 LeetCode 320:一行单词有多少种缩写可能?用回溯找全解
开发语言·leetcode·swift
写不出来就跑路43 分钟前
暑期实习感悟与经验分享:从校园到职场的成长之路
java·开发语言·经验分享·spring boot
No Silver Bullet44 分钟前
软件工程功能点估算法常用术语介绍
java·开发语言·软件工程
泰勒疯狂展开1 小时前
Java研学-MongoDB(二)
java·mongodb
karmueo463 小时前
视频序列和射频信号多模态融合算法Fusion-Vital解读
算法·音视频·多模态