有个游戏里面有个人物叫什么坤的是一颗树叫什么游戏。是三个字的树名什么传。Java游戏

java 判断两个二叉树是否完全相同
包括了创建二叉树,前序遍历输出(递归),比较二叉树是否相同。
package com.yuxin.
import java.util.LinkedL
public class Main {
private static int[] a1 = { 1, 2, 3, 4, 5, 6 };
private static int[] a2 = { 1, 2, 5, 6, 7 };
private static int[] a3 = { 1, 2, 5, 6, 7 };
private static int[] a4 = { 1, 2, 5, 6, 7, 5, 6 };
private static class TreeNode {
TreeNode(int val) {
this.val =
this.left =
this.right =
public static TreeNode createTree(int a[]) {
int len = a.
// 将数组的值依次转为Node节点
LinkedList&TreeNode& list = new LinkedList&TreeNode&();
for (int i = 0; i & i++){
list.add(new TreeNode(a[i]));
for (int i = 0; i & len / 2 - 1; i++) {
list.get(i).left = list.get(i * 2 + 1);
list.get(i).right = list.get(i * 2 + 2);
// 最后一个父节点可能没有右边孩子
int last = len / 2 - 1;
list.get(last).left = list.get(last * 2 + 1);
if (len % 2 == 1) {
list.get(last).right = list.get(last * 2 + 2);
return list.get(0);
//递归前序遍历输出二叉树
public static void preOder(TreeNode head){
System.out.print(head.val+& &);
if(head.left!=null) preOder(head.left);
if(head.right!=null) preOder(head.right);
//递归判断两个二叉树是否相同
public static boolean isSameTree(TreeNode head1, TreeNode head2) {
if ((head1 == null && head2 != null) || (head1 != null)
&& (head2 == null) || (head1.val != head2.val))
if (head1.left == null && head1.right == null && head2.left == null
&& head2.right == null && head1.val == head2.val)
return isSameTree(head1.left, head2.left)
&& isSameTree(head1.right, head2.right);
public static void main(String[] args) {
TreeNode head1 = createTree(a1);
System.out.println(&Tree1:&);
preOder(head1);
System.out.println();
TreeNode head2 = createTree(a2);
System.out.println(&Tree2:&);
preOder(head2);
System.out.println();
TreeNode head3 = createTree(a3);
System.out.println(&Tree3:&);
preOder(head3);
System.out.println();
TreeNode head4 = createTree(a4);
System.out.println(&Tree4:&);
preOder(head4);
System.out.println();
System.out.println(&Tree1和Tree2相同吗?& + isSameTree(head1, head2));
System.out.println(&Tree2和Tree3相同吗?& + isSameTree(head2, head3));
System.out.println(&Tree3和Tree4相同吗?& + isSameTree(head3, head4));
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:62821次
积分:2048
积分:2048
排名:第16674名
原创:130篇
转载:131篇
评论:15条
(8)(3)(13)(6)(2)(16)(27)(47)(129)(10)(1)下次自动登录
现在的位置:
& 综合 & 正文
Java的那些故事
一、Java的故事
设计语言,却深深改变了这个世界
提供什么样的东西,而这些东西将足够让它来取代我们的市场地位。了解这一点非常重要,是应该最优先考虑的事情。
。摩兹法官的意见是:在微软的垄断下,
发起了一个叫做
,仅仅根据
&&&&推荐文章:
【上篇】【下篇】

我要回帖

更多关于 石榴树多少钱一颗 的文章

 

随机推荐