劍指offer最優(yōu)解Java版-二叉搜索樹的后序遍歷序列

劍指offer專題地址

劍指offer索引地址

題目描述

輸入一個(gè)整數(shù)數(shù)組,判斷該數(shù)組是不是某二叉搜索樹的后序遍歷的結(jié)果。如果是則輸出Yes,否則輸出No。假設(shè)輸入的數(shù)組的任意兩個(gè)數(shù)字都互不相同。

解決方法

根據(jù)后序遍歷特點(diǎn),數(shù)值由小到大再變小,來進(jìn)行檢驗(yàn)。

public class Solution {
    public boolean VerifySquenceOfBST(int[] sequence) {
        int size = sequence.length;
        if (0 == size) return false;
        int i = 0;
        while (--size > 0) {
            while (sequence[i++] < sequence[size] && i < size) ;
            while (sequence[i++] > sequence[size] && i < size) ;

            if (i < size) return false;
            i = 0;
        }
        return true;
    }
}

復(fù)雜度分析:

  • 時(shí)間復(fù)雜度:O(n)。
  • 空間復(fù)雜度:O(1)。
哎呀,如果我的名片丟了。微信搜索“全菜工程師小輝”,依然可以找到我
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容