zoukankan      html  css  js  c++  java
  • 判断某数组是否是某二叉搜索树的后序遍历的结果

    题目:

    输入一个数组,判断该数组是不是某二叉搜索树的后序遍历结果。

    解答:

     1 public class Solution {
     2 
     3     public static void main(String[] args) {
     4         int[] array = {5,7,6,9,11,10,8};
     5 
     6         boolean b = verfiySequenceOfBST(array, 0, 6);
     7         System.out.println(b);
     8     }
     9 
    10     private static boolean verfiySequenceOfBST(int[] array, int start, int end) {
    11         if(array == null || start > end || start < 0 || end < 0) {
    12             return false;
    13         }
    14 
    15         if(start == end) {
    16             return true;
    17         }
    18 
    19         int root = array[end];
    20         for(; i <= end; i++) {
    21             if(array[i] > root) {
    22                 break;
    23             }
    24         }
    25 
    26         int j = i;
    27         for(; j <= end; j++) {
    28             if(array[j] < root) {
    29                 return false;
    30             }
    31         }
    32 
    33         boolean left = true;
    34 
    35         if(i > start) {
    36             left = verfiySequenceOfBST(array, start, i-1);
    37         }
    38 
    39         boolean right = true;
    40 
    41         if(i < end) {
    42             right = verfiySequenceOfBST(array, i, end-1);
    43         }
    44 
    45         return left&&right;
    46 
    47     }
    48 }

  • 相关阅读:
    Shell 字符串
    shell 使用变量
    shell 数组
    shell 注释
    shell 输出双引号
    shell wc命令 统计行数
    shell :
    shell 函数调用
    pyqt 调用颜色选择器
    Navicat+Premium+12+破解补丁
  • 原文地址:https://www.cnblogs.com/wylwyl/p/10369095.html
Copyright © 2011-2022 走看看