校招编程题(三) 二叉树问题之求子节点的最近公共父节点
来源:互联网 发布:英文小说阅读软件 编辑:程序博客网 时间:2024/06/03 22:52
摘要
对某一满二叉排序树,输入四个数字。第1个为树的高度,后面3个为节点标号。求此三个节点的最近公共父节点。
import java.util.Scanner;/************************************** ** @Description 对某一满二叉排序树,输入四个数字。** 第1个为树的高度,后面3个为节点标号。求此三个节点的最大公共父节点 ** ** @author 何明胜 ** ** @Date 2017-04-03 22:13:26 ** ** @Copyright Copyright (c) 2017 ** ************************************/public class InTraToLastestParent { int k;//二叉树的高度 int []arr = new int[3];//获取的三个节点 public void init(){ Scanner scanner = new Scanner(System.in); //读取数据 k=scanner.nextInt(); for(int i=0;i<3;i++){ arr[i] = scanner.nextInt(); } //开始寻找 find(Math.pow(2, k-1), k-1); } /* * 寻找函数 * 1.从根结点开始,判断当前是哪个节点是否同时大于或者小于此节点 * 2.若同时大于,则当前根节点的右子节点复制为当前根节点,继续第1步 * 3.若同时小于,则当前根节点的左子节点赋值为当前根节点,继续第1步 * 4.若不满足上述两个条件,表明此节点为三个节点的最大公共父节点,输出此节点的值 */ public void find(double value,int k){ if(arr[0] >= value && arr[1] >= value && arr[2] >= value){ find(value+Math.pow(2, k-1), k-1); } else if(arr[0] <= value && arr[1] <= value && arr[2] <= value){ find(value-Math.pow(2,k-1), k-1); } else{ System.out.println((int)value); } } public static void main(String []args){ InTraToLastestParent inTraToLastestParent = new InTraToLastestParent();//初始化 inTraToLastestParent.init();//执行函数 }}
阅读全文
0 0
- 校招编程题(三) 二叉树问题之求子节点的最近公共父节点
- 二叉树中两个子节点的最近公共节点
- 找二叉树中两个节点的最近的公共父节点(三种情景)
- 【二叉树】求二叉树中两个节点的最近公共父节点
- 程序员面试100题之十六:二叉树中两个节点的最近公共父节点
- 求二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共父节点
- 二叉树中两个节点的最近公共父节点
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 找寻二叉树中两个节点的公共父节点中最近的那个节点的三种情况
- 创新工场汪华:移动支付与人工智能助推,中国互联网进入OMO时代
- jbpm(3)---jbpm入门示例
- android studio 3.0新功能介绍
- Spark Streaming中,增大任务并发度的方法有哪些?
- 欢迎使用CSDN-markdown编辑器
- 校招编程题(三) 二叉树问题之求子节点的最近公共父节点
- 2017.10.19
- ubuntu使用yum命令时报错解决方法
- SSM框架 文件下载
- 使用TortoiseSVN在Windows系统下搭建单机版SVN服务器版本控制
- 【bzoj4756】[Usaco2017 Jan]Promotion Counting
- php魔术方法__isset() and __unset( ) 实例应用
- 多线程下载
- UML类图与类的关系详解