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

溫馨提示×

溫馨提示×

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

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

劍指offer之面試題22:二叉搜索樹的后序遍歷序列

發布時間:2020-07-03 07:33:46 來源:網絡 閱讀:480 作者:momo462 欄目:編程語言

題目:

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

思路:

BST的后序序列的合法序列是,對于一個序列S,最后一個元素是x (也就是根),如果去掉最后一個元素的序列為T,那么T滿足:T可以分成兩段,前一段(左子樹)小于x,后一段(右子樹)大于x,且這兩段(子樹)都是合法的后序序列。完美的遞歸定義 : ) 。

代碼:

class Solution {
public:
         bool judge(vector<int>& a, int l, int r){
        if(l >= r) return true;
        int i = r;
        while(i > l && a[i - 1] > a[r])
            --i;
        for(int j = i - 1; j >= l; --j) 
            if(a[j] > a[r]) 
             return false;
        return judge(a, l, i - 1) && (judge(a, i, r - 1));
    }
    bool VerifySquenceOfBST(vector<int> a) {
        if(!a.size()) return false;
        return judge(a, 0, a.size() - 1);
    }
};


向AI問一下細節

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

AI

定日县| 沛县| 静海县| 镇安县| 平定县| 盐城市| 洪泽县| 乌拉特后旗| 铁岭县| 谢通门县| 翁源县| 郓城县| 沧州市| 纳雍县| 诏安县| 梧州市| 扬州市| 吉隆县| 博野县| 福建省| 赤水市| 家居| 泰来县| 龙岩市| 永兴县| 嘉禾县| 华蓥市| 嘉义县| 子洲县| 奎屯市| 精河县| 贞丰县| 岳阳县| 建平县| 横山县| 双牌县| 青田县| 和政县| 郸城县| 景东| 上林县|