面试题30
2016-05-25 20:35
363 查看
二叉搜索树的后序遍历序列:判断数组是不是某二叉搜索树的后序遍历结果
#include<stdio.h> int isTreeOrder(int *A, int len) { if (A == NULL || len <= 0) return 0; int root = A[len - 1]; int i; for (i = 0; i < len; i++) { //左子树都小于根结点 if (A[i] >= root) break; } int j ; for (j=i; j < len; j++) { //右子树都大于根结点 if (A[j] < root) return 0; } int left = 1; if (i > 0) { left = isTreeOrder(A, i); } int right = 1; if (i<len-1 ) { right = isTreeOrder(A+i,len-i-1); } return left&&right; } int main() { int A[] = {7,4,5,6}; int len = sizeof(A) / sizeof(A[0]); int istrue=isTreeOrder(A, len); }
相关文章推荐
- web前端细节性问题(面试时可能遇到的问题)——div+css(2)
- 面试题:一个数组插入另一个数组指定的位置
- [转载]115个Java面试题和答案
- Android面试题集锦
- iOS经典面试题(转)
- 尝试解析js面试题(二)
- 尝试解析js面试题(一)【转发】
- 奋斗吧,程序员——第四十四章 八百里分麾下炙,五十弦翻塞外声
- 面试题目——《剑指Offer》
- android 面试
- 操作系统常见面试题
- 如何准备机器学习工程师的面试 ?
- PHP面试题,附答案(1)
- 【机器学习】程序员初学机器学习的四种方式
- 面试题29
- 成为高效程序员的几大搜索技巧
- 什么?程序员还要了解经济学?!
- 什么?程序员还要了解经济学?!
- 一套面试题及答案
- .NET面试题