博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
经典二叉树问题 根据前序和中序生成后序
阅读量:5237 次
发布时间:2019-06-14

本文共 1326 字,大约阅读时间需要 4 分钟。

转载请注明作者与出处:franciscolv 。

package SortSet; /**  * 根据前序和中序打印后序  *  * @author Administrator  * */ public class BinarayTreeOrder {
private static StringBuilder sb = new StringBuilder(); public static void main(String[] args) {
int[] inorder = { 1, 5, 4, 2, 3, 8, 7 }; int[] preorder = { 2, 5, 1, 4, 8, 3, 7 }; printPosOrder(preorder,inorder,0, 6, 0, 6); sb.deleteCharAt(sb.length() - 1); System.out.println(sb.toString()); } public static void printPosOrder(int[]preorder,int[] inorder,int preleft, int preright, int inleft, int inright) {
int parent, leftsize, rightsize; if (preleft <= preright && inleft <= inright) {
for (parent = inleft; parent <= inright; parent++) {
if (inorder[parent] == preorder[preleft]) break; } leftsize = parent - inleft; rightsize = inright - parent; if (leftsize > 0) {
printPosOrder(preorder,inorder,preleft + 1, preleft + leftsize, inleft, parent - 1); } if (rightsize > 0) {
printPosOrder(preorder,inorder,preleft + leftsize + 1, preright, parent + 1, inright); } sb.append(inorder[parent]).append(","); } } }

转载于:https://www.cnblogs.com/franciscolv/archive/2011/11/20/2255868.html

你可能感兴趣的文章
cookie注意事项
查看>>
基于tensorflow的逻辑分类
查看>>
关于css,js放置位置的问题
查看>>
python之路 -- 爬虫 -- Scrapy入门
查看>>
OC基础8:分类和协议
查看>>
C#依据进程名称获取进程的句柄?
查看>>
音乐TV2015校园招聘A第二大发行量(对中国科学院大学站)
查看>>
工作日志2014-08-28
查看>>
Google App Engine 学习和实践
查看>>
MySQL 常用到的几个字符处理函数
查看>>
20145203 盖泽双《Java程序设计》第一周的学习总结
查看>>
使用opencv显示视频的方法
查看>>
关于LIS系统与HIS系统的接口方案
查看>>
(四)数据完整性保护
查看>>
分布式数据库Hbase
查看>>
oracle in 多个字段
查看>>
ubuntu 入门
查看>>
POJ 1847 Tram 最短路
查看>>
番茄工作法总结
查看>>
SCI杂志更名时,如何计算影响因子?
查看>>