POJ2255 java
先序遍历:根,左,右
中序遍历:左,右,根
后序遍历:左,右,根每次我们只需要传入树mid中的开始位置,和结束为止
首先,先序遍历的第一个为根元素
我们只需要遍历pre数组中的字符
并找到此字符在mid数组中的对应位置,他就是此树对应的根元素
在mid中他的左边就是他的左子树,右边就是右子树
再分别对左 右子树按照刚才的方法递归
直到开始位置>结束位置说明没有左子树或者右子树了,就输出此结点
import java.util.Scanner;public class Main2 {private static char[] pre;private static char[] mid;private static int p=-1;//pre数组的指针public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()) {pre=sc.next().toCharArray();mid=sc.next().toCharArray();tree(0,pre.length-1);System.out.println();p=-1;//指针置为-1}}private static void tree(int start, int end) {if(start>end) {//没有左子树了 或 没有右子树了return;}p++;//首先指针+1for (int k = start; k <= end; k++) {//从树的开始位置到结束为止循环if(pre[p]==mid[k]) {//找到tree(start, k-1);//先输出看左子树tree(k+1, end);//再输出右子树System.out.print(mid[k]);//最后输出根元素break;}}}
}
POJ2255 java相关推荐
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常
kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized ...
- SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...
- OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3
OpenAPI使用(swagger3) demo见Gitte 一.背景及名词解释 OpenAPI是规范的正式名称.规范的开发工作于2015年启动,当时SmartBear(负责Swagger工具开发的公 ...
- Gradle错误提示:Java home supplied via ‘xxx.xxx.xxx‘ is invalid
Gradle错误提示:Java home supplied via 'org.gradle.java.home' is invalid 描述:在使用idea采用gradle进行依赖的管理功能,当想切换 ...
- 查看Hotspot源码,查看java各个版本源码的网站,如何查看jdk源码
java开发必知必会之看源码,而看源码的第一步则是找到源码
- java基本类型转换,随记
java基本类型转换: double double 转 long double random = Math.round(Math.random()*10000); long l = new Doubl ...
最新文章
- 【转载】Zend Studio 10正式版注册破解
- Mac OS包管理器Homebrew
- jQuery Mobile页面返回无需重新get
- 投影仪和电脑连接故障
- lzw压缩 java_java实现的LZW 压缩算法源码 | 学步园
- LeetCode27——Remove Element(移除数组中指定的元素)
- Revit API多选多重过滤
- SAP License:我们到底需要什么能力?
- SQLServer-----SQLServer 2008 R2安装
- 操作系统就是虚拟机--主内又主外
- 分分钟搞定LabVIEW读取与写入Excel【三易电子工作室】
- stm32固件库下载地址
- 日历代码(微信小程序)
- 贪心 + 优先队列:程序员PIPI
- 港科夜闻|全国政协副主席梁振英一行到访香港科技大学(广州)
- Hive 统计连续天数
- 微信QQ的二维码登录原理js代码解析
- 设计模式学习笔记(C++实现)(九)--组合模式
- 瓦伦达效应:越在意的,就越容易失去
- oracle数据库锁表很多,oracle锁表的原因_数据库