国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【Leetcode】98. 驗(yàn)證二叉搜索樹

nidaye / 2602人閱讀

摘要:題目給定一個(gè)二叉樹,判斷其是否是一個(gè)有效的二叉搜索樹。所有左子樹和右子樹自身必須也是二叉搜索樹。題解這道題目主要是利用二叉搜索樹的一個(gè)性質(zhì)二叉搜索樹的中序遍歷結(jié)果是一個(gè)升序的序列。

題目

給定一個(gè)二叉樹,判斷其是否是一個(gè)有效的二叉搜索樹。

假設(shè)一個(gè)二叉搜索樹具有如下特征:

節(jié)點(diǎn)的左子樹只包含小于當(dāng)前節(jié)點(diǎn)的數(shù)。

節(jié)點(diǎn)的右子樹只包含大于當(dāng)前節(jié)點(diǎn)的數(shù)。

所有左子樹和右子樹自身必須也是二叉搜索樹。

示例 1:

輸入:
    2
   / 
  1   3
輸出: true

示例 2:

輸入:
    5
   / 
  1   4
     / 
    3   6
輸出: false
解釋: 輸入為: [5,1,4,null,null,3,6]。
     根節(jié)點(diǎn)的值為 5 ,但是其右子節(jié)點(diǎn)值為 4 。
題解

這道題目主要是利用二叉搜索樹的一個(gè)性質(zhì):
二叉搜索樹的中序遍歷結(jié)果是一個(gè)升序的序列。
那么問題轉(zhuǎn)變成:中序遍歷 + 驗(yàn)證是不是升序.

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    private List inPrint(TreeNode root, List res) {
        if (root != null) {
            inPrint(root.left, res);
            res.add(root.val);
            inPrint(root.right, res);
        }
        return res;
    }
    
    public boolean isValidBST(TreeNode root) {
        List res = inPrint(root, new LinkedList<>());
        if (res.size() == 1) {
            return true;
        }
        for (int i = 1; i < res.size(); i++) {
            if (res.get(i) <= res.get(i - 1)) {
                return false;
            }
        }
        return true;
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/73319.html

相關(guān)文章

  • LeetCode 之 JavaScript 解答第98題 —— 驗(yàn)證二叉搜索

    摘要:小鹿題目驗(yàn)證二叉搜索樹給定一個(gè)二叉樹,判斷其是否是一個(gè)有效的二叉搜索樹。假設(shè)一個(gè)二叉搜索樹具有如下特征節(jié)點(diǎn)的左子樹只包含小于當(dāng)前節(jié)點(diǎn)的數(shù)。所有左子樹和右子樹自身必須也是二叉搜索樹。算法思路定義全局的變量,用來返回是否為二叉搜索樹。 Time:2019/4/24Title: Vaildata Binary Search TreeDifficulty: MediumAuthor: 小鹿 ...

    用戶84 評論0 收藏0
  • 通過幾道題目學(xué)習(xí)二叉搜索

    摘要:根據(jù)這個(gè)特征,用二分法來將有序數(shù)組轉(zhuǎn)換為一顆二叉搜索樹。邊界條件向下取整得到中間值遞歸二分法接下來我們驗(yàn)證下一棵樹是否滿足二叉搜索樹。二驗(yàn)證二叉搜索樹相關(guān)題目驗(yàn)證二叉搜索樹中等思路就是,中序遍歷如果滿足遞增的就行。 二叉樹大家都知道,二叉搜索樹滿足以下特征: 節(jié)點(diǎn)的左子樹只包含小于當(dāng)前節(jié)點(diǎn)的數(shù)節(jié)點(diǎn)的右子樹只包含大于當(dāng)前節(jié)點(diǎn)的數(shù) 所有左子樹和右子樹自身必須也是二叉搜索樹 二叉搜索樹也叫...

    Steven 評論0 收藏0
  • Leetcode打卡——二叉搜索(共8題)

    摘要:也就是說,有個(gè)節(jié)點(diǎn)的平衡二叉搜索樹,它的高度是。以搜索操作為例,如果二叉搜索樹的高度為,則時(shí)間復(fù)雜度為。二叉搜索樹的高度的確很重要。樹集合,中的或者中的,是由高度平衡的二叉搜索樹實(shí)現(xiàn)的。 ...

    Olivia 評論0 收藏0
  • LeetCode天梯>Day031 驗(yàn)證二叉搜索(遞歸+中序遍歷) | 初級算法 | Pytho

    摘要:有效二叉搜索樹定義如下節(jié)點(diǎn)的左子樹只包含小于當(dāng)前節(jié)點(diǎn)的數(shù)。所有左子樹和右子樹自身必須也是二叉搜索樹。而我們二叉搜索樹保證了左子樹的節(jié)點(diǎn)的值均小于根節(jié)點(diǎn)的值,根節(jié)點(diǎn)的值均小于右子樹的值,因此中序遍歷以后得到的序列一定是升序序列。 ...

    Genng 評論0 收藏0
  • [Leetcode] Validate Binary Search Tree 驗(yàn)證二叉搜索

    摘要:注意這里的結(jié)構(gòu)和不同的二叉樹遍歷一樣,如果到空節(jié)點(diǎn)就返回,否則遞歸遍歷左節(jié)點(diǎn)和右節(jié)點(diǎn)。唯一不同是加入了和,所以要在遞歸之前先判斷是否符合和的條件。代碼如果該節(jié)點(diǎn)大于上限返回假如果該節(jié)點(diǎn)小于下限返回假遞歸判斷左子樹和右子樹 Validate Binary Search Tree Given a binary tree, determine if it is a valid binary...

    fuchenxuan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<