程序员面试金典 - 面试题 04.05. 合法二叉搜索树(中序遍历)
生活随笔
收集整理的這篇文章主要介紹了
程序员面试金典 - 面试题 04.05. 合法二叉搜索树(中序遍历)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
實現一個函數,檢查一棵二叉樹是否為二叉搜索樹。
示例 1: 輸入:2/ \1 3 輸出: true示例 2: 輸入:5/ \1 4/ \3 6 輸出: false 解釋: 輸入為: [5,1,4,null,null,3,6]。根節點的值為 5 ,但是其右子節點值為 4 。2. 解題
- 該題要求嚴格,不允許相等
- 中序遍歷即可
- 遞歸
- 返回子樹的最小值和最大值,供上一層判斷
or
class Solution {bool ans = true;long prevVal = LONG_MIN; public:bool isValidBST(TreeNode* root) {if(!root || ans == false)return true;isValidBST(root->left);if(root->val <= prevVal)ans = false;elseprevVal = root->val;isValidBST(root->right);return ans;} };總結
以上是生活随笔為你收集整理的程序员面试金典 - 面试题 04.05. 合法二叉搜索树(中序遍历)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指Offer - 面试题58 - II
- 下一篇: LeetCode 542. 01 矩阵(