LeetCode中如何解决相同的树问题
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章将为大家详细讲解有关LeetCode中如何解决相同的树问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。题目链接https://leetcode-cn.co
千家信息网最后更新 2025年02月04日LeetCode中如何解决相同的树问题
这篇文章将为大家详细讲解有关LeetCode中如何解决相同的树问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
题目链接
https://leetcode-cn.com/problems/same-tree/
题目描述
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 1:
输入: 1 1
/ \ / \
2 3 2 3
[1,2,3], [1,2,3]
输出: true
示例 2:
输入: 1 1
/ \
2 2
[1,2], [1,null,2]
输出: false
示例 3:
输入: 1 1
/ \ / \
2 1 1 2
[1,2,1], [1,1,2]
输出: false
解题方案
思路
标签:深度优先遍历
终止条件与返回值:
当两棵树的当前节点都为null时返回true
当其中一个为null另一个不为null时返回false
当两个都不为空但是值不相等时,返回false
执行过程:当满足终止条件时进行返回,不满足时分别判断左子树和右子树是否相同,其中要注意代码中的短路效应
时间复杂度:O(n),n为树的节点个数
代码
Java版本
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public 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);
}
}
JavaScript版本
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} p
* @param {TreeNode} q
* @return {boolean}
*/
var isSameTree = function(p, 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);
};
画解
关于"LeetCode中如何解决相同的树问题"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
相同
两个
示例
篇文章
节点
输入
输出
问题
代码
更多
条件
版本
题目
子树
不错
复杂
实用
个数
内容
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全反诈骗演讲稿500字
哪些单位需要数据库运维人员
密云租房软件开发
ftp文件服务器 管理平台
网络安全法什么时候开始及实施
上位机软件开发论文
vfp如何编辑数据库
女孩做软件开发多吗
企用软件开发
websocket服务器
chrony系统和服务器的区别
易语言如何直接连接数据库
数据库date类型查询
数据库如何添加显示消息框
聊天软件开发工具
std 什么数据库
湖南学软件开发
晋城市公安局网络安全有奖答题
泉州市app社交软件开发公司
崇明区企业数据库销售代理品牌
漫说网络安全的句子
网络安全反诈骗演讲稿500字
舒城县网络安全
灵璧软件开发专业
服务器硬盘电脑可以读取吗
韩国有没有软件开发
佛山软件开发工资指导价位
服务器暴增怎么解决
数据库表整行根据主键升序排序
广东家用软件开发费用