解題心得
如果只比 root 值還有 root 左子樹右子樹三個節點會錯。
改用傳當前區間去做比對。
程式碼
class Solution { public: bool isValid(TreeNode* root, long min, long max) { if(root == nullptr) return true; if(!(min < root->val && root->val < max)) return false; return isValid(root->left, min, root->val) && isValid(root->right, root->val, max); } bool isValidBST(TreeNode* root) { return isValid(root, LLONG_MIN, LLONG_MAX); } };
沒有留言:
張貼留言