关注
import java.io.*;
import java.util.Scanner;
class BTNode{
public BTNode(int i, BTNode buildTree, BTNode buildTree2) {
this.data=i;
this.left=buildTree;
this.right=buildTree2;
}
int data;
BTNode left,right;
}
public class Main {
static BTNode lca(BTNode root,int l,int r) {
BTNode left=null;
BTNode right=null;
if(l<root.data&&r<root.data) {
left=lca(root.left,l,r);
}else if(l>root.data&&r>root.data) {
right=lca(root.right,l,r);
}else {
return root;
}
if(left==null)
return right;
else if(right==null)
return left;
return root;
}
static void Print(BTNode root,int data) {
if(root!=null) {
if(data==root.data)
f1=true;
Print(root.left,data);
Print(root.right,data);
}
}
static void Print2(BTNode root,int data) {
if(root!=null) {
if(data==root.data)
f2=true;
Print2(root.left,data);
Print2(root.right,data);
}
}
public static BTNode BuildTree(int[] treedata,int n){
if(treedata.length==0)
return null;
else{
if(n<treedata.length)
{
int l=n*2+1;
int r=n*2+2;
BTNode TreeRoot=new BTNode(treedata[n], BuildTree(treedata, l), BuildTree(treedata, r));
return TreeRoot;
}
else
return null;
}
}
static boolean f1=false;
static boolean f2=false;
public static void main(String args[]) throws Exception {
Scanner in=new Scanner(System.in);
String k=in.nextLine();
String tempdata=in.nextLine();
int l1=in.nextInt();
int r1=in.nextInt();
String[] data=tempdata.split(" ");
//System.out.println(l1+" "+r1);
BTNode treeroot;
int[] treedata=new int[data.length];
for(int i=0;i<treedata.length;i++)
{
treedata[i]=Integer.parseInt(data[i]);
//System.out.println(treedata[i]);
}
treeroot=BuildTree(treedata,0);
BTNode p = null,q=null;
p=treeroot;
q=treeroot;
Print(p,l1);
Print2(q,r1);
// System.out.println(f1);
// System.out.println(f2);
if(f1&&f2) {
BTNode res=lca(treeroot,l1,r1);
System.out.println(res.data);
}
else System.out.println(-1);
}
}//做的很挫,勉强能过
查看原帖
点赞 评论
相关推荐
10-19 18:20
福建师范大学 Java
下午吃泡馍:数字马力的薪资一般哇,5年经验的java/测试就给人一万出头,而且刚入职第三天就让人出差,而且是出半年
帮你内推|数字马力 校招 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 第一次找实习,我建议__ #
17836次浏览 241人参与
# 你怎么评价今年的春招? #
141356次浏览 1384人参与
# 从mentor身上学到了__ #
15992次浏览 259人参与
# 秋招暂停,我将对以下公司做出处罚__ #
28160次浏览 127人参与
# 什么样的公司千万别去 #
14614次浏览 110人参与
# 韶音科技求职进展汇总 #
59346次浏览 504人参与
# 你听到的“最没用”的秋招建议 #
19394次浏览 222人参与
# 如果今天是你的last day,你会怎么度过? #
46938次浏览 294人参与
# 外出实习被同学举报 #
2736次浏览 29人参与
# 秋招我要惩罚这些公司 #
2301次浏览 22人参与
# 2025秋招体验点评 #
45272次浏览 465人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
3732次浏览 18人参与
# 你认为工作的意义是什么 #
201484次浏览 1268人参与
# 工作以后,你父母对你啥态度 #
8597次浏览 90人参与
# 打工人的至爽时刻or至暗时刻 #
41272次浏览 221人参与
# 在国企工作的人,躺平了吗? #
374804次浏览 3930人参与
# 秋招结束之后的日子 #
105265次浏览 1016人参与
# 实习生的蛐蛐区 #
834918次浏览 4092人参与
# 你的秋招第一面感觉怎么样 #
127755次浏览 795人参与
# 非技术岗简历怎么写 #
259725次浏览 3103人参与
神州信息成长空间 29人发布