我是靠谱客的博主 开心太阳,这篇文章主要介绍【二叉树】相同的树,给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。(java),现在分享给大家,希望可以做个参考。

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

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

两棵树上的节点数目都在范围 [0, 100] 内 -−104 <= Node.val <= 104

函数接口定义:

复制代码
1
2
3
在这里描述函数接口。例如: public static boolean isSameTree(TreeNode p, TreeNode q)

裁判测试程序样例: 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/** * 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
1 2 3 0 0 0 0 1 2 3 0 0 0 0

输出样例1:

在这里给出相应的输出。例如:

复制代码
1
2
true

输入样例2:

复制代码
1
2
3
1 2 0 0 0 1 0 2 0 0

输出样例2:

在这里给出相应的输出。例如:

复制代码
1
2
false

输入样例3:

复制代码
1
2
3
1 2 1 0 0 0 0 1 1 2 0 0 0 0

输出样例3:

在这里给出相应的输出。例如:

复制代码
1
false

 代码如下:

复制代码
1
2
3
4
5
6
7
8
9
10
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)的全部内容,更多相关【二叉树】相同的树,给你两棵二叉树的根节点内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部