首页 > 其他分享 >11.6随笔

11.6随笔

时间:2024-11-06 20:42:57浏览次数:1  
标签:index right TreeNode preorder 11.6 随笔 root left

这里是11.6随笔。
题目留档:以二叉链表作为二叉树的存储结构,编写程序实现:交换二叉树每个结点的左子树和右子树。以先序遍历构建一棵二叉树,输出中序遍历结果,交换每个节点的左右子树后,输出中序遍历结果。
代码:#include

include

struct TreeNode {
char val;
TreeNode* left;
TreeNode* right;
TreeNode(char x) : val(x), left(NULL), right(NULL) {}
};

TreeNode* buildTree(std::string preorder, int& index) {
char ch = preorder[index];
if (ch == '#') {
index++;
return NULL;
}
TreeNode* root = new TreeNode(ch);
index++;
root->left = buildTree(preorder, index);
root->right = buildTree(preorder, index);
return root;
}

void inorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
inorderTraversal(root->left);
std::cout << root->val;
inorderTraversal(root->right);
}

void swapTree(TreeNode* root) {
if (root == NULL) {
return;
}
TreeNode* temp = root->left;
root->left = root->right;
root->right = temp;
swapTree(root->left);
swapTree(root->right);
}

int main() {
std::string preorder;
std::cin >> preorder;
int index = 0;
TreeNode* root = buildTree(preorder, index);

inorderTraversal(root);
std::cout << std::endl;

swapTree(root);
inorderTraversal(root);
std::cout << std::endl;


return 0;

}

标签:index,right,TreeNode,preorder,11.6,随笔,root,left
From: https://www.cnblogs.com/Thanatos-syst/p/18530996

相关文章

  • 11.6 模拟赛
    A.大副令\(m\)的最高一位\(1\)在\(k\)上。构造\(\lfloorn/2\rfloor\)个\(2^k\),\(n-\lfloorn/2\rfloor\)个\(2^k-1\),即可达到答案上界\((2^{k+1}-1)\times\lfloorn/2\rfloor\times(n-\lfloorn/2\rfloor)\)。B.机械师首先小甜水糖水不等式。多人同时破......
  • 11.4随笔
    这里是11.4随笔。今日代码留档:实现单链表插入、删除结点等基本算法。语言:c++include<stdio.h>include<stdlib.h>structnode{intdata;nodenext;};intmain(){intn,m,c,a,b;scanf("%d",&n);nodehead,*pre,*p;head=newnode;head->next=NULL;pre......
  • 11.6K+ Star!Plate:一个基于AI的富文本编辑器
    Plate简介Plate[1]是一个由AI驱动的富文本编辑器,为用户提供一个强大且易于使用的编辑体验。它支持多种功能,包括但不限于代码高亮、自动保存、协作编辑等,并且可以通过插件系统进行扩展,以满足不同用户的需求。项目特点主要特点AI驱动:Plate利用人工智能技术,提供智能......
  • 随笔-人品存在问题的人
    随笔-人品存在问题的人,不对头。让自己内耗的人,不对。你做工作之外的任何事情,他从来都不会认可你。他只关心工作,其实和我的父亲一样。就像读书的时候的父亲, 我本来打算学一会。但是他把你的情绪逼到了顶峰,我又得花很长时间处理我的情绪。一个不在意你的感受的人,为什么要在意他......
  • 软件工程课程初感受——随笔补交
    何为软件工程,个人看来软件工程是一种系统性规范性可度量的对于软件的调控,进而将我们之前所编写的软件串联成一个有工业生产或应用效应的体系。其软件开发、运行和维护过程的组成元素代表着软件工程有着不同的方法学,既有最符合线性思维的传统方法学,将软件生命周期的全过程依次划分......
  • 11.1随笔
    这里是11.1随笔。题目留档:二叉树遍历应用代码:#includeinclude//二叉树节点结构体structTreeNode{charval;TreeNode*left;TreeNode*right;TreeNode(charx):val(x),left(NULL),right(NULL){}};//根据先序遍历字符串构建二叉树TreeNode*buildTree(std::s......
  • 杂题随笔 10.31 两道LIS相关的题
    https://www.luogu.com.cn/problem/AT_abc354_f题意:给定一个序列a,求出所有的i使得任意一个a的最长子序列包含i。解法:我们先求这个序列的LIS的长度maxx,然后再去正着求一遍最长上升子序列和反着求一遍最长下降子序列即可,如果拼起来等于maxx那么说明i这个点是满足要求的点。注意细......
  • 10.29随笔
    这里是10.29随笔。这里留一下今天写的代码,用队列实现回文:includeincludeincludeboolisPalindrome(conststd::string&str){intleft=0;intright=str.size()-1;while(left<right){while(left<right&&isspace(str[left])){++left;......
  • 临时随笔:大脑宕机低级大错误合集
    大脑宕机低级大错误合集ceil的精度问题:inta,b;ceil(a/b);//错误的ceil(1.0*a/b);//正确的memset的顺序:memset(vis,0,sizeof(vis);后两项打反时编译器不会报错。while(L--)判否后仍然会执行一次L--:lower_bound正确使用:2邻接矩阵遍历图时,严格注意......
  • CSP-J赛前随笔
    CSP-J倒计时1天。最近教练给我们做了10+套模拟赛,疯狂整理后,每套模拟都写了1~2篇题解。广刷题,确实有用,今天早上做出来一道第二题题目传送门顺便在这放个题解化简decode\(n=p\timesq\)\(e\timesd=(p-1)(q-1)+1\)令\(x=e\timesd-2\)则\(x=p\timesq......