判断给定数组是不是二叉搜索树的后序遍历

来源:互联网 发布:幽灵行动荒野优化如何 编辑:程序博客网 时间:2024/05/16 03:36
public class tmp1 {public static void main(String[] args) {int[] a = { 1, 3, 2, 5, 6, 4 };System.out.println(VerifySquenceOfBST(a));}public static boolean VerifySquenceOfBST(int[] sequence) {int len = sequence.length;if (len == 0)return false;if (len == 1)return true;return digui(sequence, 0, len - 1);}public static boolean digui(int[] seq, int start, int end) {if (start + 1 == end || start == end)return true;else if (start < end) {int i = start;for (; seq[i] < seq[end]; i++);int mid = i;for (; seq[i] > seq[end]; i++);if (i == end) {if (start <= mid - 1 && mid <= end - 1)return digui(seq, start, mid - 1) && digui(seq, mid, end - 1);else if (start <= mid - 1)return digui(seq, start, mid - 1);elsereturn digui(seq, mid, end - 1);} else {return false;}} else {return false;}}}

0 0
原创粉丝点击