劍指 offer 二叉搜尋樹的後序遍歷序列

2021-09-19 01:29:01 字數 1169 閱讀 5638

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。

二叉搜尋樹(binary search tree,bst)又稱二叉排序樹、二叉查詢樹。

二叉排序樹或者是一棵空樹,或者是具有下列性質的二叉樹:

(1)若左子樹不空,則左子樹上所有結點的值均小於或等於它的根結點的值;

(2)若右子樹不空,則右子樹上所有結點的值均大於或等於它的根結點的值;

(3)左、右子樹也分別為二叉排序樹;

特點:左子樹結點的值都小於根節點的值,右子樹結點的值都大於根節點的值

版本1:又臭又長

class solution 

bool find_

(vector<

int>

& sequence,

int st,

int ed)

cur = id;

while

(cur < ed)

bool left = true;

bool right = true;

if(id > st+

1) left =

find_

(sequence, st+

1, id-1)

;if(id < ed-

1) right =

find_

(sequence, id+

1, ed-1)

;return left && right;

}int

interval

(vector<

int>

& sequence,

int st,

int ed)

return ed;}}

;

版本2:

class solution 

bool is

(vector<

int>

& sequence,

int st,

int ed)

return

is(sequence, st, temp)

&&is

(sequence, temp+

1, ed-1)

;}};

菜是原罪。

劍指Offer 二叉搜尋樹的後序遍歷

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。author zy date 2017年10月13日 下午9 34 21 decription 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如...

劍指offer 二叉搜尋樹的後序遍歷

時間限制 1秒 空間限制 32768k 熱度指數 524747 本題知識點 棧 樹輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。這兩天狀態不行,沒多大刷題的動力。菜還不想動,說的大概就是我了。遞迴 大佬的思路...

劍指offer 二叉搜尋樹的後序遍歷

題目描述 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。簡單思路 二叉搜尋樹 1.左孩子 根 右孩子 2.bst的左孩子和右孩子都是bst 發現對於每一棵子樹,它的根結點總是對應該子樹的後序序列的最後乙個數 ...