关注
第二题输入其实是按层遍历。。 剑指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;
}
查看原帖
点赞 评论
相关推荐
05-27 16:58
西安电子科技大学 Java 点赞 评论 收藏
分享
第九只柠檬鲸:牛逼这两个字我已经说够了
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司开提前批了? #
13857次浏览 176人参与
# 实习如何「偷」产出? #
35895次浏览 785人参与
# 校招阶段,学历VS技术哪个更重要? #
12642次浏览 157人参与
# 除了主业以外,你还有哪些其他收入? #
8227次浏览 152人参与
# 不卡学历的大厂有哪些? #
19996次浏览 152人参与
# Offer比较,你最看重什么? #
190721次浏览 1297人参与
# 风评不好的公司,你会去吗? #
47959次浏览 355人参与
# 实习打杂,要跑路吗 #
14731次浏览 189人参与
# 职场新人体验 #
17242次浏览 172人参与
# 腾讯音乐求职进展汇总 #
97411次浏览 566人参与
# 校园里的破防时刻 #
8196次浏览 95人参与
# 社恐入职新公司如何融入团队 #
11185次浏览 62人参与
# 实习时,大家都怎么称呼自己的mentor? #
43345次浏览 273人参与
# 面试中,你被问过哪些奇葩问题? #
70325次浏览 802人参与
# 摸鱼被leader发现了怎么办 #
60883次浏览 371人参与
# 双非能在秋招上岸吗? #
226502次浏览 1215人参与
# 非技术投递记录 #
611258次浏览 6413人参与
# 金融财经春招备战日记 #
22929次浏览 135人参与
# 考研可以缓解求职焦虑吗 #
53669次浏览 474人参与
# 正在实习的碎碎念 #
1452634次浏览 13464人参与