wordpress 搜索 分類seo站長助手
前言
題目: 98. 驗證二叉搜索樹
文檔: 代碼隨想錄——驗證二叉搜索樹
編程語言: C++
解題狀態(tài): 對中序遍歷理解不到位
思路
了解了中序遍歷會返回一個有序數(shù)組后,本題就可以迎刃而解。只需要判斷,返回的數(shù)組是不是遞增數(shù)組就好。
代碼
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
private:vector<int> vec;void traversal(TreeNode* root) {if (!root) return;traversal(root -> left);vec.push_back(root -> val);traversal(root -> right);}
public:bool isValidBST(TreeNode* root) {vec.clear();traversal(root);for (int i = 1; i < vec.size(); i++) {if (vec[i] <= vec[i - 1]) return false;}return true;}
};