LeetCode 98 驗證二叉搜尋樹

2021-09-13 01:32:33 字數 798 閱讀 1111

1. 題目

2. 解答

針對乙個節點,有下列四種情況:

如果當前節點的左右子節點值滿足二叉搜尋樹的條件,我們可以遞迴判斷左右子樹是否為二叉搜尋樹。如果左右子樹也滿足二叉搜尋樹條件,同時左子樹最大節點(也即前驅結點)值小於當前節點值,右子樹最小節點(也即後繼結點)值大於當前節點值,那麼整棵樹即為二叉搜尋樹。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

else if (root->left == null && root->right != null)

else

}// 前驅節點是否有效

bool isvalidprev_node(treenode* root, int data)

if (root->val < data) return true;

else return false;

}// 後繼節點是否有效

bool isvalidnext_node(treenode* root, int data)

if (root->val > data) return true;

else return false;}};

leetcode 98 驗證二叉搜尋樹

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。乙個二叉搜尋樹具有如下特徵 示例 1 輸入 1 3 輸出 true 示例 2 輸入 1 4 3 6 輸出 false 解釋 輸入為 5,1,4,null,null,3,6 根節點的值為 5 但是其右子節點值為 4 關鍵資訊 1二叉搜尋樹的中序遍歷是遞...

leetcode 98 驗證二叉搜尋樹

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。乙個二叉搜尋樹具有如下特徵 示例 1 輸入 2 1 3 輸出 true示例 2 輸入 5 1 4 3 6 輸出 false 解釋 輸入為 5,1,4,null,null,3,6 根節點的值為 5 但是其右子節點值為 4 解題思路 中序遍歷遞增,每次只...

leetcode 98 驗證二叉搜尋樹

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。乙個二叉搜尋樹具有如下特徵 示例 1 輸入 2 1 3 輸出 true示例 2 輸入 5 1 4 3 6 輸出 false 解釋 輸入為 5,1,4,null,null,3,6 根節點的值為 5 但是其右子節點值為 4 如果對二叉搜尋樹不夠了解,可能...