VerifySequenceOfBST
2016-08-26 10:59
155 查看
#include<stdio.h> bool VerifySequenceOfBST(int sequence[],int length){ if(sequence==NULL || length<=0) return false; int root=sequence[length-1]; int i; for(i=0;i<length-1;i++) if(sequence[i]>root) break; for(int j=i;j<length-1;j++) if(sequence[j]<root) return false; bool left=true; if(i>0) left=VerifySequenceOfBST(sequence,i); bool right=true; if(i<length-1) right=VerifySequenceOfBST(sequence+i,length-1-i); return left&&right; } void main(){ int data[] = {4, 8, 6, 12, 16, 14, 10}; bool flag=VerifySequenceOfBST(data,7); if(flag) printf("后序搜索二叉树序列正确\n"); else printf("不正确\n"); int data1[] = {7, 6, 4, 5}; flag=VerifySequenceOfBST(data1,4); if(flag) printf("后序搜索二叉树序列正确\n"); else printf("不正确\n"); flag=VerifySequenceOfBST(NULL,0); if(flag) printf("后序搜索二叉树序列正确\n"); else printf("不正确\n"); }
相关文章推荐
- Build BST using Preorder sequence and Verify valid BST
- invalid byte 1 of 1-byte UTF-8 sequence
- Invalid byte 1 of 1-byte UTF-8 sequence.解决办法
- HDOJ 题目2187 A sequence of numbers(快速幂水)
- com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence问题原因,以及解决方案
- 编码问题之:java.io.UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence.
- hdu 2817 A sequence of numbers
- Verify Preorder/Inorder/Postorder Sequence in Binary Search Tree
- HDU 3415 Max Sum of Max-K-sub-sequence(单调队列+最大连续子串和)
- Stop sequence of directshow in WINCE
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- HDU--杭电--3415--Max Sum of Max-K-sub-sequence--暴力或单调队列
- A sequence of numbers (二分幂)
- hdu 2817 A sequence of numbers
- POJ_3017 Cut the Sequence 单调队列+dp+BST
- Hadoop Invalid byte 1 of 1-byte UTF-8 sequence
- hdu 2817 A sequence of numbers(快速幂)
- 无效3字节utf - 8的第3字节Invalid byte 3 of 3-byte UTF-8 sequence. Nested exception: Invalid byte 3 of 3-byte
- 九度OJ-1442:A sequence of numbers
- 6 Stages of Linux Boot Process (Startup Sequence)