输出以二叉树表示的算术表达式(严6.51)--------西工大noj

题解
这道题目说的很诡异,其实没有什么把括号补上。。。。仅仅是先序读入,然后中序输出就行了
代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct TreeNode
{
    char data;
    struct TreeNode *LChild, *RChild;
}TreeNode;
char *c;
void Create(TreeNode **T)
{
    if(*c=='#')
    {
        (*T) = NULL;
        c++;
        return ;
    }
    (*T) = (TreeNode*)malloc(sizeof(TreeNode));
    (*T)->data = *c;
    c++;
    Create(&(*T)->LChild);
    Create(&(*T)->RChild);
}
void Print(TreeNode*T)
{
    if(!T)
        return;
    Print(T->LChild);
    printf("%c",T->data);
    Print(T->RChild);
}
int main()
{
    static char buf[10000];
    scanf("%s",buf);
    c = buf;
    TreeNode *T;
    Create(&T);
    Print(T);
    return 0;
}
/*
*+a(###b#)##c##
*/
												
											输出以二叉树表示的算术表达式(严6.51)--------西工大noj的更多相关文章
- 建立二叉树的二叉链表(严6.65)--------西工大noj
		
需要注意的点:在创建二叉树的函数中,如果len1==len2==0,一定要把(*T)置为NULL然后退出循环 #include <stdio.h> #include <stdlib. ...
 - 建立二叉树的二叉链表存储结构(严6.70)--------西工大noj
		
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct TreeNode ...
 - 二叉排序树的合并(严3.98)--------西工大noj
		
二叉排序树的合并有三种方法 先存入数组,然后..... 直接在第二个树上添加第一个数的元素,时间复杂度为O(NlogN) 就像是合并数组一样合并二叉排序树,分别扫描,时间复杂度极低. 第三种我写了一下 ...
 - 求广义表深度(严5.30)--------西工大noj
		
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef enum{ATOM, LIST ...
 - 以十字链表为存储结构实现矩阵相加(严5.27)--------西工大noj
		
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> typedef int ElemT ...
 - 循环队列(严3.30)--------西工大NOJ习题.9
		
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> typedef struct _Q ...
 - [Java]算术表达式组建二叉树,再由二叉树得到算式的后序和中序表达式
		
Entry类: package com.hy; import java.io.BufferedReader; import java.io.IOException; import java.io.In ...
 - [Java]算术表达式求值之二(中序表达式转后序表达式方案,支持小数)
		
Inlet类,入口类,这个类的主要用途是验证用户输入的算术表达式: package com.hy; import java.io.BufferedReader; import java.io.IOEx ...
 - PYTHON实现算术表达式构造二叉树
		
LEETCOCE 224. Basic Calculator Implement a basic calculator to evaluate a simple expression string. ...
 
随机推荐
- 面试题|Docker的优缺点
			
开源Linux 长按二维码加关注~ 上一篇:Linux中几个正则表达式的用法 Docker解决的问题: 由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环 ...
 - SQL注入的几种类型
			
SQL注入就是: 将构造SQL语句来插入到web提交的数据之中,让其返回数据时运行自己构造的恶意SQL语句. SQL注入构造恶意SQL语句的方法有: 构造堆叠,构造闭合,构造报错,构造时间差,等等 S ...
 - django-rest-framework 基础三 认证、权限和频率
			
django-rest-framework 基础三 认证.权限和频率 目录 django-rest-framework 基础三 认证.权限和频率 1. 认证 1.1 登录接口 1.2 认证 2. 权限 ...
 - MySQL中的全表扫描和索引树扫描
			
引言 在学习mysql时,我们经常会使用explain来查看sql查询的索引等优化手段的使用情况.在使用explain时,我们可以观察到,explain的输出有一个很关键的列,它就是type属性,ty ...
 - 【ASP.NET Core】URL重写
			
今天老周和大伙伴们聊聊有关 Url Rewrite 的事情,翻译过来就是 URL 重写. 这里不得不提一下,URL重定向与重写的不同. 1.URL重定向是客户端(通常是浏览器)向服务器请求地址A,然后 ...
 - 205. Isomorphic Strings - LeetCode
			
Question 205. Isomorphic Strings Solution 题目大意:判断两个字符串是否具有相同的结构 思路:构造一个map,存储每个字符的差,遍历字符串,判断两个两个字符串中 ...
 - FreeMarker速查手册
			
一.开始 原理图 引入FreeMarker依赖 <dependency> <groupId>org.freemarker</groupId> <artifac ...
 - SpringCloud基础概念学习笔记(Eureka、Ribbon、Feign、Zuul)
			
SpringCloud基础概念学习笔记(Eureka.Ribbon.Feign.Zuul) SpringCloud入门 参考: https://springcloud.cc/spring-cloud- ...
 - 3000帧动画图解MySQL为什么需要binlog、redo log和undo log
			
全文建立在MySQL的存储引擎为InnoDB的基础上 先看一条SQL如何入库的: 这是一条很简单的更新SQL,从MySQL服务端接收到SQL到落盘,先后经过了MySQL Server层和InnoDB存 ...
 - 基于Kubernetes v1.24.0的集群搭建(三)
			
1 使用kubeadm部署Kubernetes 如无特殊说明,以下操作可以在所有节点上进行. 1.1 首先我们需要配置一下阿里源 cat <<EOF > /etc/yum.repos ...