91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何判斷一個數組是否為后序遍歷結果

發布時間:2021-12-20 13:53:54 來源:億速云 閱讀:178 作者:iii 欄目:云計算

本篇內容主要講解“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如何判斷一個數組是否為后序遍歷結果”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌恰县| 东阳市| 神农架林区| 沙田区| 辉县市| 清丰县| 新邵县| 池州市| 万州区| 湖口县| 霞浦县| 衡水市| 万全县| 巫溪县| 浦城县| 泗阳县| 福海县| 青岛市| 吴忠市| 东阿县| 南木林县| 黑水县| 泗阳县| 西宁市| 芜湖市| 南投县| 宽城| 综艺| 辽阳市| 镇赉县| 班戈县| 句容市| 孝义市| 城步| 德江县| 丘北县| 玉树县| 自治县| 北京市| 贵德县| 松阳县|