自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 合并两个有序链表------------力扣(21)

1、题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]2、题解,我们设定一个哨兵节点 prehead ,这可以在最后让我们比较容易地返回合并后的链表。我们维护一个 prev 指针,我们需要做的是调整它的 next 指

2021-08-05 21:53:05 100

原创 力扣---相交链表

相交链表1、题目给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Intersected at ‘8

2021-08-04 21:59:03 121

原创 回文链表----------力扣(234)

请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true这道题我第一次看的时候想到了快慢指针,但是具体怎么实现我只想的是遍历一遍然后根据数字规律那样写,虽然能做出来,但是太复杂了最后想确实麻瓜了,将链表的是赋给数组就行了,在从两端这样查找class Solution { public boolean isPalindrome(ListNode head) { List&l

2021-08-02 21:53:45 104

原创 Excel表列序号------------------力扣(171)

Excel 表列序号1、题目给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。例如,A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例 1:输入: columnTitle = “A”输出: 1示例 2:输入: columnTitle = “AB”输出: 28示例 3:输入: columnTitle = “ZY”输出: 701示例

2021-07-30 21:52:46 157

原创 环形链表---------------力扣(141)

环形链表1、题目给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量)内存解决此问题吗?示例 1:输入:head = [3,

2021-07-29 21:41:45 81

原创 力扣(863)--------------二叉树中所有距离为 K 的结点

二叉树中所有距离为 K 的结点1、题目给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。示例 1:输入:root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, K = 2输出:[7,4,1]解释:所求结点为与目标结点(值为 5)距离为 2 的结点,值分别为 7,4,以及 1注意,输入的 “root” 和 “tar

2021-07-28 21:55:18 85

原创 图的邻接矩阵和邻接表

图的邻接矩阵存储方式是两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(即为邻接矩阵)存储图中的边或弧的信息设图G有n个顶点,则邻接矩阵为一个n×n的方阵,定义为:抽象数据类型如下typedef struct Graph{ char vexs[MAXSIZE]; int arc[MAXSIZE][MAXSIZE]; int numVertexes, numEdges;}MGraph;我们设置一个顶点数组为vertex[]={v0,v1,v2,v3…} 边数组为一个对称矩阵,

2021-04-22 16:26:44 968 2

原创 队列的链式结构

队列的链式结构,其实就是线性表的单链表,只不过有着队列的特点先进先出(FIFO),只能尾进头出,简称为链队列。首先我们先抽象链表数据结构typedef struct List{ int date; struct List* next;}list;在抽象队列数据结构(此时队列的队首和队尾用链表表示)typedef struct Queue{ list* head,*rear;}LinkQueue;然后我们创建一个链队列(即链队列的初始化),这里我们先将队首和队尾指向NULL。Li

2021-04-08 14:42:54 401

原创 栈的链式结构

栈的链式结构,简称为链栈,其本质就是一种链表加栈的抽象数据结构。在创建一个链栈的时候我们首先要定义一个链表。typedef struct Node{ int date;//数据域 struct Node* next;//指针域}List;此时链表的创建,插入就不详述,直接代码略过,值得一提的是,因为栈是一种先进后出(First In Last out)的一种数据结构,所以链表的插入(即为栈的插入)我们采用头插法。//创建表头List* creatList(){ List* L = (L

2021-03-30 17:14:08 673

原创 双向循环链表的头插法

双向链表的建立和单链表的建立差不多,只不过单链表只是指向一个方向,而双链表指向两个方向。我们设置两个指针域,front指向前面,tail指向后面//抽象数据结构typedef struct doublelist { int date; struct doublelist* front; struct doublelist* tail;}doubleList;首先我们先创立一个表头,即只有一个节点的循环链表,只有一个节点意味着front指针和tail指针都指向自身//创建表头d

2021-03-23 21:48:12 2369

原创 结构体内存对齐

结构体内存对齐原则struct S1{ char a;//1字节 char b;//4字节 char c;//1字节};struct S2{ char a;//1字节 int b;//1字节 char c;//4字节};以编译器vs为例(vs默认对齐数为8)对于S1而言a从偏移量为0开始占一个字节b大小为1,所以往下偏移量为1。c大小为4,所以往下继续偏移4个单位。这时候总的大小为6,最大对齐数为4,所以要浪费两个单位,

2020-12-07 23:52:46 217 1

原创 整型变量的数据储存

标题 整形变量的数据储存数据在计算机中的储存以二进制储存,计算机的整型数三种表示方法分为原码、反码、补码。#include<stdio.h>int main(){ int a=20;//32字节,int (4个字节) //00000000 00000000 00000000 00010100 原码 //00000000 00000000 00000000 00010100反码 //00000000 00000000 00000000 0

2020-11-28 23:32:19 1741 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除