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

2021-08-07 04:53:57 字數 833 閱讀 7118

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

1,利用二叉搜尋樹左《中《右的特性,和後序遍歷的特點

2,後序遍歷為左右根,則陣列末尾為根,然後依據大小找出左子樹和右子樹

3,遞迴判斷,如果一直符合則為真,否則為假

/**

* */

package offertest;

/** * * title:verifysquenceofbst

* * * description:

* *

*@author 田茂林

*@data 2023年8月20日 下午9:32:57

*/public

class

verifysquenceofbst

public

boolean

helper(int sequence, int start, int end)

int rootval = sequence[end];

int i = start;

for (; i < end; i++)

int j = i;

for (; j < end; j++)

return helper(sequence, start, i - 1) && helper(sequence, i, end - 1);

}public

static

void

main(string args)

}

劍指offer 二叉樹 二叉樹搜尋樹

package bst import j a.util.public class bst if pre.length 0 in.length 0 treenode root new treenode pre 0 for int i 0 i in.length i return root 判斷給定陣列...

劍指offer 二叉樹 二叉樹的映象

操作給定的二叉樹,將其變換為源二叉樹的映象。二叉樹的映象定義 源二叉樹 8 6 10 5 7 9 11 映象二叉樹 8 10 6 11 9 7 51,交換左右子樹 2,遞迴交換左右子樹的左右子節點 package offertest title mirror description author 田...

劍指Offer 二叉樹 對稱的二叉樹

含有兩道題,都從樹的遞迴入手 請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。解題思路 映象翻 只需要遍歷二叉樹,每次訪問乙個結點時,交換其左右子樹。實現 definition for a binary tree node.class treenode def init self,x self....