- 博客(8)
- 收藏
- 关注
原创 双向链表的创建(C语言)
双向链表的相对于单向链表,更加方便,应因为它指针域里有前面结点的地址。//// Created by liujun on 2022/4/16.//#include <stdio.h>#include <stdlib.h>typedef struct data{ int num; //数据域:存放数据 struct data *prev; //前驱指针:指向前一个节点的地址 struct data *next; //
2022-05-24 17:06:31
2895
原创 (C语言)单向链表的创建和链表的一些基本操作
链表是数据结构里非常重要的一个东西,也是平常用的比较多的一个东西。下面简单的展示一下单向链表的创建和单向链表的一些基本操作。#include <stdio.h>#include <stdlib.h>typedef int datatype;typedef struct data{ datatype num; //数据域 struct data *next; //指针域}Data;Data *request_head_node(...
2022-05-23 08:25:13
295
原创 (C 语言)几大常见的排序(冒泡,选择,快速,插入)
冒泡排序:#include<stdio.h>void maopao(int *ret,int retsize){ for (int i = 0; i < retsize - 1; i++) { for (int j = 1; j < retsize - i; ++j) { if (ret[j - 1] > ret[j]) { int temp
2022-05-22 23:02:38
147
2
原创 力扣501题:二叉搜索树中的众数
原题链接:https://leetcode.cn/problems/find-mode-in-binary-search-tree/这个题中的树是含有重复值的二叉搜索树,这一点很重要,二叉搜索树的中序遍历结果是有序的(升序),这个题的返回结果是一个数组,题目要求是最好不使用额外空间(返回数组的空间和递归产生的隐式调用栈的开销不被计算在内)。这个题不算难,但是还是要注意一下:结点之间最大出现频率的结点的数量可以一样多。思路:肯定是需要中序遍历的,而且要求出遍历到当前结...
2022-05-22 20:02:15
195
原创 力扣61题:旋转链表
点击这里跳转到题目原题截图:这个题的思路其实挺简单的,这个题与力扣的189题的轮转数组非常像,思路差不多,只是一个是数组,一个是链表;这个题的思路:(1)先反转整条链表;(2)找到k的位置,以k为中心把链表分为前后两个部分,先将这两个部分断开,方便后续的操作。(3)分别反转这前后两个部分的链表,再进行连接即可注意:这个的题的k的值可以大于链表的长度,这个一定要注意。代码:(核心代码)/** * Definition for singly-linked list
2022-05-19 16:30:40
269
原创 力扣39题:组合总数(回溯)
点这里跳转到原题本题涉及到回溯,递归往往都是伴随着回溯,回溯对于初学者可能不是很好理解,要更好的理解的话还是要多做一些题目;题目原文:给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定
2022-05-10 18:36:01
441
1
原创 力扣面试题:01.06. 字符串压缩
点这里直接跳转到题目 这题主要考的还是字符串的操作,直接上代码class Solution {public: string compressString(string s) { //用双指针 int i = 0; int j = 0; int sum = 0; string s1 = ""; //定义一个空字符串 while(j<=s.size()) ...
2022-04-09 22:39:43
335
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人