当前位置: 首页 > news >正文

[NOIP 2001 普及组] 求先序排列 Java

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String infixOrder = sc.nextLine(); // 中序String postOrder = sc.nextLine(); // 后序sc.close();System.out.println(preOrder(infixOrder, postOrder));}static String preOrder(String infix, String post) {if (infix.isEmpty() || post.isEmpty()) return ""; // 递归终止char root = post.charAt(post.length() - 1); // 后序最后一个一定是根节点int rootIndex = infix.indexOf(root); // 根节点索引// 中序:左子树→根节点→右子树String infixLeft = infix.substring(0, rootIndex); // 中序的左子树String infixRight = infix.substring(rootIndex + 1); // 中序的右子树,不包含中间的根节点// 后序:左子树→右子树→根节点String postLeft = post.substring(0, infixLeft.length()); // 后序的左子树String postRight = post.substring(infixLeft.length(), post.length() - 1); // 后序的右子树,不包含最后的根节点// 前序:根节点→左子树→右子树return root + preOrder(infixLeft, postLeft) + preOrder(infixRight, postRight); // 左右子树分别递归继续执行}
}

每日一水~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

相关文章:

  • Python中的异常处理:如何优雅地处理程序中的错误
  • 【Python】第一弹:对 Python 的认知
  • 【技能篇】Java 面试题大全
  • 测试分类详解
  • 系统架构设计综合知识与案例分析
  • VR看房系统,新生代看房新体验
  • docker-compose搭建prometheus以及grafana
  • manus对比ChatGPT-Deep reaserch进行研究类论文数据分析!谁更胜一筹?
  • 【后端高阶面经:架构篇】50、数据存储架构:如何改善系统的数据存储能力?
  • Ubuntu 22.04 系统下 Docker 安装与配置全指南
  • Python中openpyxl库的基础解析与代码实例
  • 微信小店推客系统达人用户管理的数据支持和便利
  • window10下docker方式安装dify步骤
  • Leetcode 2005. 斐波那契树的移除子树游戏
  • 【算法提升】分组 day_tow
  • 【Doris基础】Apache Doris业务场景全解析:从实时数仓到OLAP分析的完美选择
  • ECS-7000能耗监测系统能耗数据管理机
  • iEKF的二维应用实例
  • 产品更新|数字主线深度解析:华望解决方案助力企业数字化转型
  • RabbitMQ和MQTT区别与应用
  • 一键优化下载安装/谷歌seo营销
  • 深圳网站设计网站制作/谁有恶意点击软件
  • 彩票网站怎么做ip管理/百度搜索的优势
  • 珠海网站建设招聘/全国互联网营销大赛官网
  • net和cn哪个做网站好/百度账号安全中心
  • 深圳做网站要/网络推广理实一体化软件