龙空技术网

LeetCode算法第100题:相同的树

小天使淘淘 475

前言:

如今小伙伴们对“算法题树”可能比较看重,看官们都需要分析一些“算法题树”的相关文章。那么小编同时在网络上网罗了一些对于“算法题树””的相关资讯,希望各位老铁们能喜欢,姐妹们快快来学习一下吧!

题目描述:

给定两个二叉树,编写一个函数来检验它们是否相同。

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

示例 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

思路:

思路:判断两个二叉树是否相同,可以分为如下 3 个步骤:

1、两个二叉树的根节点相同;

2、递归判断两个二叉树的左子树相同;

3、递归判断两个二叉树的右子树相同;

Java代码:

public boolean isSameTree(TreeNode p, TreeNode q) { if(null == p && null == q){			return true;		}		if(null == p || null == q){			return false;		}				return p.val == q.val && isSameTree(p.left,q.left) && isSameTree(p.right,q.right); }

标签: #算法题树