![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构(题)
文章平均质量分 56
二叉树 链表 图...
4nc414g0n
这个作者很懒,什么都没留下…
展开
-
二叉树题目
二叉树进阶进阶根据二叉树创建字符串进阶根据二叉树创建字符串二叉树的层序遍历(变1)进阶根据二叉树创建字符串题目链接题目描述:你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对思路:下面注释代码过不了?????提示代码如下:class Solution {public: void _tree2str(TreeNode* root, stri原创 2022-04-11 09:19:21 · 857 阅读 · 0 评论 -
栈和队列OJ
栈和队列OJ最小栈栈的压入、弹出序列最小栈题目链接题目描述:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。思路:如果我们只定义一个栈,再定义一个最小值,入栈时有比它小的就替换,但是出栈的时候由于删除了元素,要获取最小值就要重新遍历一遍显然,这里我们选择空间换时间的做法,定义两个栈存储,其中原创 2021-11-18 19:25:53 · 78 阅读 · 0 评论 -
排序算法----八大排序
排序1)插入①直接插入②希尔排序2)选择①选择排序②堆排序3)交换①冒泡排序②快速排序4)归并①归并排序1)插入①直接插入②希尔排序2)选择①选择排序②堆排序3)交换①冒泡排序②快速排序4)归并①归并排序...原创 2021-09-19 01:49:03 · 208 阅读 · 1 评论 -
加(大数运算) 减(大数运算) 乘(竖式 龟速乘) 除(二分) 幂(快速幂)...待补充
加题目描述:给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。思路:减乘除...原创 2021-11-05 22:33:11 · 4453 阅读 · 0 评论 -
递归与非递归的转换
加粗样式原创 2021-09-24 14:21:59 · 272 阅读 · 0 评论 -
二叉树初阶OJ题
加粗样式原创 2021-09-08 11:31:46 · 138 阅读 · 0 评论 -
链表OJ题练习2
链表OJ习题2链表的倒数第N个节点(双指针)链表的倒数第N个节点(双指针)链接:删除链表的倒数第 N 个结点问题描述给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?方法1分析:我们可以在遍历链表的同时将所有节点依次入栈。根据栈「先进后出」的原则,我们弹出栈的第 n 个节点就是需要删除的节点,并且目前栈顶的节点就是待删除节点的前驱节点(需要自己建栈,这里不再赘述)方法2分析:先让快指针走n步,再快慢指针同时走,同时记录慢指原创 2021-09-03 19:46:49 · 184 阅读 · 0 评论 -
链表OJ题练习1
链接:链表的中间结点原创 2021-08-05 13:34:50 · 183 阅读 · 0 评论 -
顺序表(数组)OJ练习题1
问题力扣链接给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。分析:定义两个标志,由于是有序数组,当快指针每次加一并和慢指针指向的数组元素比较相同就继续加一,不相同就把值付给慢指针指向的数组元素,快慢指针同时加一代码如下:int removeDuplicates(int* nums, int numsSize){ int原创 2021-07-29 11:31:59 · 104 阅读 · 0 评论 -
素数代码优化
素数求100-200的素数#include <stdio.h>#include <math.h>int main(){ int i; int count =0; for(i=100;i<200;i++) { int j=0; int flag =1; for(j=2;j<i;j++) { if(i%j==0) { flag =0; break; } } if(flag==1) { cou原创 2021-04-13 23:06:38 · 119 阅读 · 0 评论 -
汉诺塔/青蛙跳台阶(经典递归)
汉诺塔:题目描述:一块板上有三根针 A、B、C。A 针上套有 64 个大小不等的圆盘,按照大的在下、小的在上的顺序排列,要把这 64 个圆盘从 A 针移动到 C 针上,每次只能移动一个圆盘,移动过程可以借助 B 针。但在任何时候,任何针上的圆盘都必须保持大盘在下,小盘在上。从键盘输入需移动的圆盘个数,给出移动的过程一个盘我们先简化为一个盘,假设这个盘在A针,直接移动到C针 我们暂把这个过程定为move(A,C)。两个盘当两个盘时 (注意:每次移动的都是针最上面的那个盘 所以不用指定盘的编号)1)原创 2021-04-22 15:34:03 · 174 阅读 · 0 评论 -
递归逆序(非打印)
题目题目描述:编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列,不是逆序打印。要求:不能使用C函数库中的字符串操作函数。思路(递归) a b c d e f 把首位字符保存在tmp中 f b c d e \0 把最后一个字符置为'\0' 再 *(str+1) b c d e 相当于新数组 e c d \0 *(str+1) c d原创 2021-04-21 19:22:40 · 81 阅读 · 0 评论 -
在杨氏矩阵中查找
题目有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。要求:时间复杂度小于O(N);#include <stdio.h>#include <assert.h>int find_num(int arr[3][3],int *px,int *py,int k){ int x=0; int y=*py-1; while(x<*px&&y>=0) { if(arr[x][原创 2021-06-09 20:24:49 · 59 阅读 · 0 评论 -
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
主函数int main(){ int m=0; int n=0; int count =0; scanf("%d %d",&m,&n); int ret =m^n; //按二进制异或相同为0 相异为1,再存到ret中 count = NumberOf1(ret); printf("%d",count);}判断ret中1的个数#include <stdio.h>int NumberOf1(int n)//判断ret二进制1的个数{ int count原创 2021-05-17 15:07:03 · 53 阅读 · 0 评论 -
C语言题目---程序死循环解释
代码如下(环境VS2017)#include <stdio.h>int main(){ int i = 0; int arr[] = {1,2,3,4,5,6,7,8,9,10}; for(i=0; i<=12; i++) { arr[i] = 0; printf("hello world\n"); } return 0;}直接CTRL+F5运行死循环!!!而不是直接崩溃既然已经越界访问了为什原创 2021-05-15 11:59:02 · 1345 阅读 · 0 评论 -
交换两个变量(不创建临时变量)
代码如下(异或)#include <stdio.h>int main(){ int a=3; int b=5; a=a^b;//准备 b=a^b;//b=a^b^b(以上一个式子为已知条件) a=a^b;//a=a^a^b(以上一个式子为已知条件) printf("a=%d b=%d\n",a,b);}原创 2021-05-10 20:22:46 · 88 阅读 · 0 评论 -
算法之冒泡排序(优化)
冒泡排序优化代码//当已经有序时就不用排序了加入flag作为标志void bubble_sort(int arr[],int sz){ int i=0; for (i = 0; i < (sz-1); ++i) { int j=0; falg=1; for (int j = 0; j < sz-i-1; ++j) { if(arr[j]>arr[j+1]) { int tmp=arr[j]; arr[j]=arr[j+1];原创 2021-04-23 22:19:21 · 86 阅读 · 0 评论 -
字符串旋转结果(左右旋)(三步反转法)
问题:写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 =AABCD和s2 = BCDAA,返回1给定s1=abcd和s2=ACBD,返回0.AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAAAABCD右旋一个字符得到DAABC...原创 2021-06-05 15:33:22 · 339 阅读 · 0 评论