在二叉搜尋樹中:
1.若任意結點的左子樹不空,則左子樹上所有結點的值均不大於它的根結點的值。
2. 若任意結點的右子樹不空,則右子樹上所有結點的值均不小於它的根結點的值。
3.任意結點的左、右子樹也分別為二叉搜尋樹。
/**
* definition for a binary tree node.
* struct treenode
* };
*///二叉搜尋樹
class
solution
bool
dfs(treenode* root,
long
long low,
long
long high)
if(low >= root-
>val || high <= root -
> val)
return
dfs(root-
>left, low, root-
>val)
&&dfs
(root -
> right, root -
> val, high);}
};
/**
* definition for a binary tree node.
* struct treenode
* };
*///二叉搜尋樹,中序遍歷
class
solution
dfs(root)
;for
(int i =
0; i < ans.
size()
-1; i++)}
return
true;}
void
dfs(treenode* root)}}
;
刷題 力扣 面試題 04 05 合法二叉搜尋樹
題目鏈結 題目描述 實現乙個函式,檢查一棵二叉樹是否為二叉搜尋樹。示例 1 輸入 2 1 3 輸出 true示例 2 輸入 5 1 4 3 6 輸出 false 解釋 輸入為 5,1,4,null,null,3,6 根節點的值為 5 但是其右子節點值為 4 題目分析 根據題目描述,判斷是否是二叉搜尋...
二叉搜尋樹面試題總結
0.什麼是二叉搜尋樹 二叉搜尋樹就是左子樹所有結點都小於根結點,右子樹所有結點都打於根節點。當然這個定義遞迴的,它的左右子樹也滿足這個特點 例如 0.定義結構typedef int bstdatatype 定義二叉搜尋樹結點型別 typedef struct bstreenode bstreenod...
面試題 04 09 二叉搜尋樹序列
從左向右遍歷乙個陣列,通過不斷將其中的元素插入樹中可以逐步地生成一棵二叉搜尋樹。給定乙個由不同節點組成的二叉樹,輸出所有可能生成此樹的陣列。示例 給定如下二叉樹 2 1 3 返回 2,1,3 2,3,1 不會做,後來看了題解 題目的意思是,按某種順序依次插入所有節點 不能插入已有樹的中間,只能插在最...