Chinaunix首页 | 论坛 | 博客
  • 博客访问: 360482
  • 博文数量: 60
  • 博客积分: 15
  • 博客等级: 民兵
  • 技术积分: 1138
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-20 16:18
个人简介

最多140个字

文章分类

全部博文(60)

文章存档

2016年(1)

2015年(34)

2014年(25)

分类: C/C++

2015-08-17 16:46:48


  1. /**
  2.  * Definition for a binary tree node.
  3.  * struct TreeNode {
  4.  * int val;
  5.  * struct TreeNode *left;
  6.  * struct TreeNode *right;
  7.  * };
  8.  */
  9. /**
  10.  * Return an array of size *returnSize.
  11.  * Note: The returned array must be malloced, assume caller calls free().
  12.  */
  13.  
  14. int* preorderTraversal(struct TreeNode* root, int* returnSize) {
  15.     struct TreeNode* sk[100];
  16.     int sp=0;
  17.     int *arr=malloc(sizeof(int)*100);
  18.     struct TreeNode *p=root;
  19.     *returnSize=0;
  20.     while(p||sp)
  21.     {
  22.         if(p)
  23.         {
  24.             arr[*returnSize]=p->val;
  25.             (*returnSize)++;
  26.             sk[sp++]=p;
  27.             p=p->left;
  28.         }
  29.         else
  30.         {
  31.             p=sk[--sp]->right;
  32.         }
  33.     }
  34.     return arr;
  35. }

阅读(3012) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~