我是靠谱客的博主 开心太阳,最近开发中收集的这篇文章主要介绍【二叉树】相同的树,给你两棵二叉树的根节点 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)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部