98. Validate Binary Search Tree 驗證二叉搜索樹

題目鏈接
tag:

  • Medium;

question:
??Given a binary tree, determine if it is a valid binary search tree (BST).

Assume a BST is defined as follows:

  • The left subtree of a node contains only nodes with keys less than the node's key.
  • The right subtree of a node contains only nodes with keys greater than the node's key.
  • Both the left and right subtrees must also be binary search trees.

Example 1:

Input:
2
/ \
1 3
Output: true

Example 2:

5
/ \
1 4
/ \
3 6
Output: false
Explanation: The input is: [5,1,4,null,null,3,6]. The root node's value
is 5 but its right child's value is 4.

思路:
??驗證二叉搜索樹有很多種解法团秽,可以利用它本身的性質(zhì)來做走触,即左<根<右晦譬,可以通過利用中序遍歷結(jié)果為有序數(shù)列來做,代碼如下:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
// Recursion
class Solution {
public:
    bool isValidBST(TreeNode* root) {
        if (!root) return true;
        vector<int> vals;
        inorder(root, vals);
        for (int i = 0; i < vals.size() - 1; ++i) {
            if (vals[i] >= vals[i + 1]) return false;
        }
        return true;
    }
    void inorder(TreeNode* root, vector<int>& vals) {
        if (!root) return;
        inorder(root->left, vals);
        vals.push_back(root->val);
        inorder(root->right, vals);
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末互广,一起剝皮案震驚了整個濱河市敛腌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惫皱,老刑警劉巖像樊,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異旅敷,居然都是意外死亡生棍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門媳谁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來足绅,“玉大人,你說我怎么就攤上這事韩脑。” “怎么了粹污?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵段多,是天一觀的道長。 經(jīng)常有香客問我壮吩,道長进苍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任鸭叙,我火速辦了婚禮觉啊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘沈贝。我一直安慰自己杠人,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嗡善,像睡著了一般辑莫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上罩引,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天各吨,我揣著相機與錄音,去河邊找鬼袁铐。 笑死揭蜒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的剔桨。 我是一名探鬼主播屉更,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼领炫!你這毒婦竟也來了偶垮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤帝洪,失蹤者是張志新(化名)和其女友劉穎似舵,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體葱峡,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡砚哗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了砰奕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛛芥。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖军援,靈堂內(nèi)的尸體忽然破棺而出仅淑,到底是詐尸還是另有隱情,我是刑警寧澤胸哥,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布涯竟,位于F島的核電站,受9級特大地震影響空厌,放射性物質(zhì)發(fā)生泄漏庐船。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一嘲更、第九天 我趴在偏房一處隱蔽的房頂上張望筐钟。 院中可真熱鬧,春花似錦赋朦、人聲如沸篓冲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纹因。三九已至喷屋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瞭恰,已是汗流浹背屯曹。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惊畏,地道東北人恶耽。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像颜启,于是被迫代替她去往敵國和親偷俭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 我生活的城市缰盏,有一個大型的商場(下面涌萤,我把它稱為A商場),里面有很多個人開的賣衣服鋪子口猜,價格很實惠负溪。曾經(jīng)我很喜歡去...
    江南一枝花閱讀 178評論 0 1
  • “唱歌吧,就像沒有人聆聽一樣” “跳舞吧济炎,就像沒有人欣賞一樣” “去愛吧川抡,就像從沒有受過傷一樣” 我在《我叫金三順...
    A1man2da4閱讀 622評論 0 2
  • 已經(jīng)堅持了三天,并找到芮芮監(jiān)督我须尚,每天給她拍我在健身房運動的照片崖堤,給她說了我的目標(biāo),把自己油膩的生活戒掉耐床,每天跑2...
    愛出風(fēng)度閱讀 327評論 1 1
  • * 本周完成任務(wù) 1. 完成了Java入門第一季的學(xué)習(xí) 2. Java入門第二季完成了一半 3. GitHub目前...
    MrBad_e410閱讀 150評論 0 0
  • “丫頭密幔,如果我現(xiàn)在站在你面前你會是什么反應(yīng)?”威威哥在電話里這樣對我說撩轰,我朦朧昏睡的雙眼一下張開“啊老玛,威...
    天心之吻閱讀 116評論 0 0