题解 | #二叉树遍历#

二叉树遍历

https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct Tnode {
  char data;
  struct Tnode* lchild;
  struct Tnode* rchild;
} Tnode;
void midorder(Tnode* root) {
  if (root != NULL) {
    midorder(root->lchild);
    printf("%c ", root->data);
    midorder(root->rchild);
  } else {
    return ;
  }
}
int n = 0;
Tnode* maketree(char* x) {
  static int n = 0;
  if (x[n] == '#') {
    n++;
    //    printf("%d",n);
    return NULL;
  }
  Tnode* t = (Tnode*)calloc(1, sizeof(Tnode));
  t->data = x[n];
  n++;
  //  printf("%d",n);
  t->lchild = maketree(x);
  t->rchild = maketree(x);
  return t;
}
int main() {
  char x[101];
  while (scanf("%s", &x) != EOF) {
    Tnode* root;
    root = maketree(x);
    midorder(root);
  }
}

全部评论

相关推荐

服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
球球别再泡了:坏,我单9要了14
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务