zoukankan      html  css  js  c++  java
  • LeetCode:Validate Binary Search Tree

    题目链接

    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.

    分析:根据BST中序遍历序列有序的性质判断,只要在中序遍历二叉树的代码基础上加上判断相邻元素关系的语句即可                                                                                                                                      本文地址

     1 /**
     2  * Definition for binary tree
     3  * struct TreeNode {
     4  * int val;
     5  * TreeNode *left;
     6  * TreeNode *right;
     7  * TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     bool isValidBST(TreeNode *root) {
    13         // IMPORTANT: Please reset any member data you declared, as
    14         // the same Solution instance will be reused for each test case.
    15         //注意题目要求是 less than和greater than;
    16         stack<TreeNode*> S;
    17         TreeNode *pre = NULL, *p = root;
    18         while(p || S.empty() == false)
    19         {
    20             while(p)
    21             {
    22                 S.push(p);
    23                 p = p->left;
    24             }
    25             if(S.empty() == false)
    26             {
    27                 p = S.top();
    28                 S.pop();
    29                 if(pre && p->val <= pre->val)return false;
    30                 pre = p;
    31                 p = p->right;
    32             }
    33         }
    34         return true;
    35     }
    36 };

    【版权声明】转载请注明出处:http://www.cnblogs.com/TenosDoIt/p/3448413.html

  • 相关阅读:
    线程原理 创建方式
    Chapter17 【异常、线程】
    驱动
    java中Super到底是什么意思
    Java 8后的首个长期支持版本Java 11
    OpenJDK和JDK区别
    异常
    模拟斗地主洗牌发牌
    Debug追踪
    Python 垃圾回收机制详细
  • 原文地址:https://www.cnblogs.com/TenosDoIt/p/3448413.html
Copyright © 2011-2022 走看看