给你两棵二叉树的根节点 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
31 2 3 0 0 0 0 1 2 3 0 0 0 0
输出样例1:
在这里给出相应的输出。例如:
复制代码
1
2true
输入样例2:
复制代码
1
2
31 2 0 0 0 1 0 2 0 0
输出样例2:
在这里给出相应的输出。例如:
复制代码
1
2false
输入样例3:
复制代码
1
2
31 2 1 0 0 0 0 1 1 2 0 0 0 0
输出样例3:
在这里给出相应的输出。例如:
复制代码
1false
代码如下:
复制代码
1
2
3
4
5
6
7
8
9
10public 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)的全部内容,更多相关【二叉树】相同的树,给你两棵二叉树的根节点内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复