Java如何判断一个数组是否为后序遍历结果
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容主要讲解"Java如何判断一个数组是否为后序遍历结果",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何判断一个数组是否为后序遍历结果"吧!
千家信息网最后更新 2025年02月03日Java如何判断一个数组是否为后序遍历结果
本篇内容主要讲解"Java如何判断一个数组是否为后序遍历结果",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何判断一个数组是否为后序遍历结果"吧!
输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。
思路一:
中序遍历为增长数组,判断是否矛盾
思路二:
如5、7、6、9、11、10、8
代码编写具体思路:
1.找到第一个大于根节点的数,即9,所以9之后的为右子树
2.如果右子树的值都大于根节点8,则符合
3.递归法分别判断是否左子树和右子树都符合这种特点。
package com.lifeibigdata.algorithms.blog;import java.util.Arrays;/** * * 5、7、6、9、11、10、8 * 8 / \ 6 10 / \ / \ 5 7 9 11 */public class SearchTree { public static void main(String[] args) {// int[] a = {5,7,6,9,11,10,8}; //true int a[] = {7, 4, 6, 5} ; //false System.out.println(searchTree(a,a.length)) ; } static boolean searchTree(int[] a,int length){ if (a == null || length <= 0){ return false; } boolean flag = true; int root = a[length - 1]; int i = 0; while (a[i] < root){ i++; //得到左子树和右子树的分界线,a[i]为右子树第一个 } int j = i; for (;j < length - 1; ++j){ if (a[j] < root){ flag = false; } } if (i > 0){ searchTree(a,i); } if (i < length -1){ searchTree(Arrays.copyOfRange(a,i,length -1),length -i - 1); } return flag; }}
到此,相信大家对"Java如何判断一个数组是否为后序遍历结果"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
子树
数组
结果
思路
内容
节点
学习
实用
更深
矛盾
代码
兴趣
分界线
实用性
实际
操作简单
整数
方法
更多
朋友
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云顶之弈怎么该服务器
旅游网站数据库设计背景
怎么架服务器
安卓视频播放器软件开发步骤
2017年网络安全观后感
不履行网络安全保护义务处罚对象
互联网当今科技文明
2000数据库怎么安装
cmc网络安全不
甘肃云搜互联网科技有限公司
肾移植数据库排队查询
深圳第三方软件开发哪家可靠
我的世界最全的服务器插件
查询服务器ip所在地
网有网络安全心得
无锡rpa软件开发公司
我的世界的2b2t服务器编号
dell机架式服务器怎么买
网页发送数据给服务器
沈阳前锦网络技术有限公司
服务器的存储器
重庆很nice互联网科技
阿里巴巴的网络安全大神
删数据库会不会被判刑3年
amd低功耗cpu 服务器主板
网易我的世界服务器永久管理
中国电信网络安全展会
网络安全警察联系方式
岩脚服务器
泰安互联网养老软件开发