关注
第二题输入其实是按层遍历。。 剑指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;
}
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 校招阶段,学历VS技术哪个更重要? #
6631次浏览 87人参与
# 顺丰求职进展汇总 #
52612次浏览 283人参与
# 不卡学历的大厂有哪些? #
13126次浏览 103人参与
# 腾讯音乐求职进展汇总 #
96545次浏览 563人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
120889次浏览 1144人参与
# 除了主业以外,你还有哪些其他收入? #
5096次浏览 95人参与
# 摸鱼被leader发现了怎么办 #
60365次浏览 368人参与
# 实习如何「偷」产出? #
21240次浏览 255人参与
# 风评不好的公司,你会去吗? #
43796次浏览 314人参与
# 职场新人体验 #
12576次浏览 136人参与
# 实习打杂,要跑路吗 #
10831次浏览 144人参与
# 社恐入职新公司如何融入团队 #
10489次浏览 62人参与
# 实习时,大家都怎么称呼自己的mentor? #
42646次浏览 270人参与
# 考研可以缓解求职焦虑吗 #
53219次浏览 473人参与
# 校园里的破防时刻 #
6191次浏览 72人参与
# 金融财经春招备战日记 #
22433次浏览 134人参与
# 求职遇到的搞笑事件 #
121324次浏览 795人参与
# 大学最后一个寒假,我想…… #
47783次浏览 580人参与
# 毕业旅行去哪玩儿 #
13944次浏览 136人参与
# 视觉/交互/设计招聘信息汇总 #
17820次浏览 612人参与