c_cpp 当叶节点与内部节点不同并且内部节点恰好有两个子节点时,从它的PostOrder创建二叉树。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 当叶节点与内部节点不同并且内部节点恰好有两个子节点时,从它的PostOrder创建二叉树。相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#include <stdlib.h>

struct node 
{
  char c;
  struct node* left, *right;
};

struct node* createNode(char c) 
{
  struct node* n = (struct node*)malloc(sizeof(struct node));
  n->c = c;
  n->left = n->right = NULL;
  return n;
}

int createTree(struct node* n, char *S, int i)
{
  int j;
  n->right = createNode(S[i]);
  if (S[i] <= 'z' && S[i] >= 'a')
    j = i-1;
  else
    j = createTree(n->right,S,i-1);
  n->left = createNode(S[j]);
  if (S[j] <= 'z' && S[j] >= 'a')
    return j-1;
  else
    return createTree(n->left,S,j-1);
}

int main() {

  int K;
  scanf("%d",&K);
  char S[K];
  scanf("%s",S);

  struct node* root = createNode(S[K-1]);
  createTree(root,S,K-2);
  return 0;
}

以上是关于c_cpp 当叶节点与内部节点不同并且内部节点恰好有两个子节点时,从它的PostOrder创建二叉树。的主要内容,如果未能解决你的问题,请参考以下文章

决策树

Android 内部存储/外部存储 及 读写权限

DMO节点内部插入的常用方法与区别

NUMA架构的优缺点

NUMA架构的优缺点

无法使用 AFNetworking Objective-C 获取 XML 响应的内部节点