我是靠谱客的博主 开心太阳,最近开发中收集的这篇文章主要介绍【二叉树】相同的树,给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。(java),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
两棵树上的节点数目都在范围 [0, 100] 内 -−104 <= Node.val <= 104
函数接口定义:
在这里描述函数接口。例如:
public static boolean isSameTree(TreeNode p, TreeNode q)
裁判测试程序样例:
/**
* 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;
* }
* }
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine();
String str2 = sc.nextLine();
Tree tree1 = new Tree(str1);
Tree tree2 = new Tree(str2);
System.out.println(isSameTree(tree1.root, tree2.root));
}
/* 请在这里填写答案 */
输入样例1:
1 2 3 0 0 0 0
1 2 3 0 0 0 0
输出样例1:
在这里给出相应的输出。例如:
true
输入样例2:
1 2 0 0 0
1 0 2 0 0
输出样例2:
在这里给出相应的输出。例如:
false
输入样例3:
1 2 1 0 0 0 0
1 1 2 0 0 0 0
输出样例3:
在这里给出相应的输出。例如:
false
代码如下:
public static boolean isSameTree(TreeNode p, TreeNode q){
if(p == null && q == null)
return true;
if((q == null && p != null) || (p == null && q != null))
return false;
if (p.val != q.val){
return false;
}else
return (isSameTree(p.left,q.left) && isSameTree(p.right,q.right));
}
最后
以上就是开心太阳为你收集整理的【二叉树】相同的树,给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。(java)的全部内容,希望文章能够帮你解决【二叉树】相同的树,给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。(java)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复