力扣: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);
        }
    }
}
相关推荐
2401_8370885010 小时前
stringRedisTemplate.opsForHash().entries
java·redis
星释11 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释11 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
lkbhua莱克瓦2411 小时前
Java基础——集合进阶3
java·开发语言·笔记
蓝-萧11 小时前
使用Docker构建Node.js应用的详细指南
java·后端
多喝开水少熬夜12 小时前
Trie树相关算法题java实现
java·开发语言·算法
WBluuue12 小时前
数据结构与算法:树上倍增与LCA
数据结构·c++·算法
bruk_spp12 小时前
牛客网华为在线编程题
算法
lkbhua莱克瓦2412 小时前
Java基础——集合进阶用到的数据结构知识点1
java·数据结构·笔记·github
音符犹如代码13 小时前
Java并发List实战:CopyOnWriteArrayList原理与ArrayList常见面试题
java·开发语言·面试·list