关注
第二题输入其实是按层遍历。。 剑指offer上的题 public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String in = sc.nextLine();
String target = sc.nextLine();
String[] items = in.split(",");
System.out.println(Arrays.toString(items));
int index = 0;
for (int i = 1; i <= items.length; i++) {
if(items[i-1].equals(target))
index = i;
}
if(index == 0) {System.out.println(-1);return;}
// 有右子树
if(index * 2 + 1 <= items.length){
// 找右子树的最左
int left = index * 2 + 1;
while(left * 2 <= items.length){
left *= 2;
}
System.out.println(left);
return;
}else{ //梅子树 在判断
if(index == 1){
System.out.println(-1);return;
}
while(index != 1) {
int p = findP(index);
if (isLeft(index)) { //当前是父节点的左
System.out.println(p);
return;
} else { // 当前是父节点的right
index = p;
}
}
System.out.println(-1);
}
}
public static int findP(int index){
return index / 2;
}
public static boolean isLeft(int index){
if((index & 1) == 0)
return true;
return false;
}
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
19144次浏览 350人参与
# 在国企工作的人,躺平了吗? #
332641次浏览 3856人参与
# 实习吐槽大会 #
21662次浏览 99人参与
# 我的租房踩坑经历 #
13436次浏览 180人参与
# 晒一晒你的工位 #
82445次浏览 291人参与
# 夸夸我的求职搭子 #
190607次浏览 1890人参与
# 小厂实习有必要去吗 #
46129次浏览 267人参与
# 穿越回高考你还会选现在的专业吗 #
14503次浏览 195人参与
# 毕业旅行去哪玩儿 #
760次浏览 22人参与
# 携程求职进展汇总 #
527134次浏览 3907人参与
# 工作压力大怎么缓解 #
79025次浏览 934人参与
# 今年形式下双非本找得到工作吗 #
140284次浏览 1067人参与
# 实习中的菜狗时刻 #
365554次浏览 3292人参与
# 互联网公司评价 #
382759次浏览 3796人参与
# 产运销实习日记 #
51768次浏览 544人参与
# 你最满意的offer薪资是哪家公司? #
25724次浏览 134人参与
# 选完offer后,你后悔学机械吗? #
29110次浏览 162人参与
# 中兴求职进展汇总 #
602959次浏览 2641人参与
# 我的第一份实习怎么找的 #
105965次浏览 1046人参与
# 打工人锐评公司红黑榜 #
144893次浏览 900人参与