首页 > 其他分享 >根据后序序列构建二叉树并输出其前序序列

根据后序序列构建二叉树并输出其前序序列

时间:2023-03-15 11:23:29浏览次数:36  
标签:right TreeNode 前序 Tree char xx 二叉树 序列 left

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef struct TreeNode *Tree; //定义了一个叫做TreeNode的结构体指针 *Tree 
 4 typedef char ElementType;
 5 
 6 struct TreeNode{
 7     char val;
 8     Tree left;
 9     Tree right;
10 };
11 stack<char>sta;
12 Tree Creat()
13 {
14     char c = sta.top();
15     sta.pop();
16     Tree T = (Tree)malloc(sizeof(struct TreeNode)); //创建新结点T 
17     if(c=='.')T = NULL;
18     else
19     {   //右左根? 
20         T->right = Creat(); 
21         T->left = Creat();
22         T->val = c;
23     }
24     return T; //返回头节点T
25 }
26 void xx(Tree &t)
27 {
28     cout<<t->val;
29     if(t->left)xx(t->left);
30     if(t->right)xx(t->right);
31 }
32 int main()
33 {
34     string s;
35     cin>>s;
36     for(int i=0;i<s.length();i++)
37         sta.push(s[i]); //用栈存储二叉树结点,可以实现从后往前遍历 
38     Tree T = Creat(); //后序构造二叉树 
39     xx(T); //先序遍历 
40      return 0;
41 }

 

标签:right,TreeNode,前序,Tree,char,xx,二叉树,序列,left
From: https://www.cnblogs.com/jyssh/p/17217834.html

相关文章

  • 2816. 判断子序列(双指针模板题)
    https://www.acwing.com/problem/content/2818/双指针模板题:i指针只有匹配到相等才++,j指针无论如何每次都++那么i==n时,意味着b序列中存在着a序列,且有序离散存放#inclu......
  • 代码随想录 day 14 144.二叉树的前序遍历 | 145.二叉树的后序遍历 | 94.二叉树的中序
    144. 二叉树的前序遍历给你二叉树的根节点 root ,返回它节点值的 前序 遍历。输入:root=[1,null,2,3]输出:[1,2,3] 确定递归函数的参数和返回值: 确定哪些参数......
  • day14 打卡二叉树的递归遍历 迭代遍历 统一迭代
    day14打卡二叉树的递归遍历迭代遍历统一迭代144.二叉树的前序遍历144题目链接1.递归遍历classSolution{publicList<Integer>preorderTraversal(TreeNode......
  • 剑指 Offer 68 - II. 二叉树的最近公共祖先(java解题)
    (剑指Offer68-II.二叉树的最近公共祖先(java解题))1.题目给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T......
  • 高并发环境下生成序列编码重复问题分析
    一、背景有个业务系统(订单系统),通过后台日志和监控观察,系统偶尔会出现重复唯一索引问题,例如:后台日志片段 Duplicateentry'service_no' forkey'idx_service_no'.........
  • FastJson 反序列化漏洞原理分析
    Fastjson简介fastjson框架:https://github.com/alibaba/fastjsonfastjson-jndi:https://github.com/earayu/fastjson_jndi_pocfastjson是阿里巴巴开发的java语言编写的......
  • 序列化模块、pickle模块
    序列化模块什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。为什么要有序列化模块比如,我们在python代码中计算的一个数据需要给另外一段......
  • 列表标签之有序列表
    列表标签之有序列表 有序列表有序列表是一列项目,列表项目使用数字进行标记.有序列表始于<ol>标签.每个列表项始于<li>标签.<ol>  <li>老师</li>  <li>学生<......
  • 673.最长递增子序列的个数
    最长递增子序列的个数给定一个未排序的整数数组 nums , 返回最长递增子序列的个数 。注意 这个数列必须是严格递增的。示例1:输入:[1,3,5,4,7]输出:2解释:......
  • 二叉树的下一个节点
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode*father;*T......