題面
給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。
假設乙個二叉搜尋樹具有如下特徵:
節點的左子樹只包含小於當前節點的數。
節點的右子樹只包含大於當前節點的數。
所有左子樹和右子樹自身必須也是二叉搜尋樹。
示例1:
例項2:輸入:
2/ \
13輸出:true
題目分析輸入:
5/ \
14/ \ 3
6輸出:
false
解釋: 輸入為:[5
,1,4
,null,null,3,
6]。根節點的值為 5 ,但是其右子節點值為 4 。
記錄一下-_-一開始自己想的簡單了
ac**
錯誤反饋: 1004183196@qq.com中序遍歷非迭代版本
class
solution
else
}return
true;}
};中序遍歷遞迴版本(雙高版本)
class
solution
return ans;
}bool
isvalidbst
(treenode* root)
return
true;}
};中序遍歷遞迴改良版
class
solution
bool
isvalidbst
(treenode* root)
};
Leetcode 98 驗證二叉樹
採用遞迴的方式,判斷左節點小於根,右節點大於根。結果 錯誤。錯誤案例為 原因 右孩子的左孩子 右孫子 可能小於父親。6 10,出錯。想到的解決方案 在遞迴過程中吧祖先記錄下來,用以後續的比較。在遞迴過程中加入祖先,並且加入 bool 標識指示是左孩子還是右孩子。public class soluti...
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 輸入 1 3 輸出 true 示例 2 輸入 1 4 3 6 輸出 false 解釋 輸入為 5,1,4,null,null,3,6 根節點的值為 5 但是其右子節點值為 4 關鍵資訊 1二叉搜尋樹的中序遍歷是遞...