[Leetcode]Verify Preorder Sequence in Binary Search Tree
来源:互联网 发布:杨米尔斯理论 知乎 编辑:程序博客网 时间:2024/06/04 23:35
Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary search tree.
You may assume each number in the sequence is unique.
Follow up:
Could you do it using only constant space complexity?
Could you do it using only constant space complexity?
void partion(vector<int>&preorder,int start,int end,int &right){int root = preorder[start];for(int i = start + 1;i < end;i++){if(preorder[i] > root){right = i;break;}}}//[start,end)bool verifyPreorderSub(vector<int>&preorder,int start,int end){if((end-start) < 2)return true;int root = preorder[start];//divide array into two partsint left = start + 1,right = end;partion(preorder,start,end,right);//check BST propertyfor(int i = left;i < right;i++){if(preorder[i] > root)return false;}for(int i = right;i < end;i++){if(preorder[i] < root)return false;}return verifyPreorderSub(preorder,left,right)&&verifyPreorderSub(preorder,right,end);}/*algorithm brute force1)A[0] is root, divide A[1..n] into two parts A[1,right-1] and A[right,n]2)check each element A[i] in left tree A[i] < root and each element A[j] in right tree, A[j] > root3)recrusive call preorder for child array A[1..,right-1] and A[right,n] time O(n*n) space O(1)*/bool verifyPreorder(vector<int>&preorder) {return verifyPreorderSub(preorder,0,preorder.size());}
0 0
- [Leetcode]Verify Preorder Sequence in Binary Search Tree
- LeetCode 题解(264) : Verify Preorder Sequence in Binary Search Tree:
- *LeetCode-Verify Preorder Sequence in Binary Search Tree
- LeetCode 255. Verify Preorder Sequence in Binary Search Tree
- Leetcode 255. Verify Preorder Sequence in Binary Search Tree
- Leetcode 255 Verify Preorder Sequence in Binary Search Tree
- Verify Preorder Sequence in Binary Search Tree
- Verify Preorder Sequence in Binary Search Tree
- [LeetCode255]Verify Preorder Sequence in Binary Search Tree
- 255. Verify Preorder Sequence in Binary Search Tree
- 255. Verify Preorder Sequence in Binary Search Tree
- [leetcode 255] Verify Preorder Sequence in Binary Search Tree ---先序遍历验证二叉搜索树
- [leetcode] 255. Verify Preorder Sequence in Binary Search Tree 解题报告
- Leetcode 255. Verify Preorder Sequence in Binary Search Tree (Medium) (cpp)
- [Leetcode] 255. Verify Preorder Sequence in Binary Search Tree 解题报告
- LeetCode 255. Verify Preorder Sequence in Binary Search Tree(检查二叉搜索树的前序遍历)
- leetcode Verify Preorder Serialization of a Binary Tree
- Leetcode: Verify Preorder Serialization of a Binary Tree
- Andriod键值表-keycode
- 生成树 (tree)题解
- Android实战简易教程-第六十枪(分享一个城市选择功能模块)
- emojicon表情在数据库中的存取方法
- Android中一个textviewz中的字符串俩个颜色显示
- [Leetcode]Verify Preorder Sequence in Binary Search Tree
- 时间复杂度标记与分析(算法分析与设计)
- iOS 面试题
- android中相机的简单调用
- iOS8新特性 : Size Classes
- Android 开源项目分类汇总
- Log4net使用
- Android 各大网络请求库的比较及实战
- 如何在shell中判断一个文件是否为空