先序遍历:根,左,右
中序遍历:左,右,根
后序遍历:左,右,根每次我们只需要传入树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相关推荐

  1. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  2. Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几

    Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...

  3. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

  4. Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常

    kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized ...

  5. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

    SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...

  6. OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3

    OpenAPI使用(swagger3) demo见Gitte 一.背景及名词解释 OpenAPI是规范的正式名称.规范的开发工作于2015年启动,当时SmartBear(负责Swagger工具开发的公 ...

  7. Gradle错误提示:Java home supplied via ‘xxx.xxx.xxx‘ is invalid

    Gradle错误提示:Java home supplied via 'org.gradle.java.home' is invalid 描述:在使用idea采用gradle进行依赖的管理功能,当想切换 ...

  8. 查看Hotspot源码,查看java各个版本源码的网站,如何查看jdk源码

    java开发必知必会之看源码,而看源码的第一步则是找到源码

  9. java基本类型转换,随记

    java基本类型转换: double double 转 long double random = Math.round(Math.random()*10000); long l = new Doubl ...

最新文章

  1. 【转载】Zend Studio 10正式版注册破解
  2. Mac OS包管理器Homebrew
  3. jQuery Mobile页面返回无需重新get
  4. 投影仪和电脑连接故障
  5. lzw压缩 java_java实现的LZW 压缩算法源码 | 学步园
  6. LeetCode27——Remove Element(移除数组中指定的元素)
  7. Revit API多选多重过滤
  8. SAP License:我们到底需要什么能力?
  9. SQLServer-----SQLServer 2008 R2安装
  10. 操作系统就是虚拟机--主内又主外
  11. 分分钟搞定LabVIEW读取与写入Excel【三易电子工作室】
  12. stm32固件库下载地址
  13. 日历代码(微信小程序)
  14. 贪心 + 优先队列:程序员PIPI
  15. 港科夜闻|全国政协副主席梁振英一行到访香港科技大学(广州)
  16. Hive 统计连续天数
  17. 微信QQ的二维码登录原理js代码解析
  18. 设计模式学习笔记(C++实现)(九)--组合模式
  19. 瓦伦达效应:越在意的,就越容易失去
  20. oracle数据库锁表很多,oracle锁表的原因_数据库

热门文章

  1. 从冲突到和谐,西双版纳如何做到亚洲象保护有“数”
  2. 用「斯金纳箱」分析:为什么有的产品设计会让人上瘾?
  3. webassembly是什么?
  4. 迟暮秋水烟低画,谁将婀娜舞霓裳
  5. 2022年4月11日 Coursera国内无法播放视频问题解决
  6. Android画画板剖析
  7. 仙静发布QQ空间日志_王子依旧伤感,依旧寂寞
  8. 新浪博客发表博文不同步到新浪微博
  9. 震惊,使用imba.io框架,得到比 vue 快50倍的性能基准
  10. 英语CET-4阅读(一)