- 博客(168)
- 收藏
- 关注

原创 C++ string类详解
C++ string类详解。string 构造函数拷贝构造赋值重载。迭代器。size()、length()、resize()、capacity()、reserve()、clear()、empty()、operator[]、at()、operator+=、append()、push_back()、insert()、erase()、c_str()、find()、rfind()、substr()、getline()、stoi()、to_string()……
2023-08-19 22:04:38
707
1

原创 七大经典比较排序算法
七大经典比较排序算法(插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序hoare版本、快速排序挖坑法、快速排序前后指针法、快速排序三数、小区间优化、快速排序非递归、归并排序、归并排序非递归实现)。
2023-07-27 20:39:10
4919
6
原创 蓝桥杯 2n皇后问题
蓝桥杯 2n皇后问题,深度优先搜索+回溯问题。给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。
2024-01-08 18:47:56
571
原创 leetcode 236.二叉树的最近公共祖先
leetcode 236.二叉树的最近公共祖先。给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”
2023-09-22 09:24:23
441
原创 leetcode 102.二叉树的层序遍历
leetcode 102.二叉树的层序遍历。给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。
2023-09-18 16:52:51
426
1
原创 leetcode 606.根据二叉树创建字符串
leetcode 606.根据二叉树创建字符串。给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。空节点使用一对空括号对 "()" 表示,转化后需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。
2023-09-18 16:26:25
390
1
原创 栈的压入、弹出序列
【牛客】栈的压入、弹出序列。输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。
2023-09-08 12:07:05
178
1
原创 leetcode 150.逆波兰表达式求值
leetcode 150.逆波兰表达式求值。给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。
2023-09-08 11:57:19
354
原创 leetcode 215.数组中第k大的元素
leetcode 215.数组中第k大的元素。给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。
2023-09-08 08:40:37
247
1
原创 leetcode 43.字符串相乘
leetcode 43.字符串相乘。给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。
2023-09-07 18:19:35
371
1
原创 leetcode 1609.奇偶树
leetcode 1609.奇偶树。如果一棵二叉树满足下述几个条件,则可以称为 奇偶树 :二叉树根节点所在层下标为 0 ,根的子节点所在层下标为 1 ,根的孙节点所在层下标为 2 ,依此类推。偶数下标层上的所有节点的值都是奇整数,从左到右按顺序严格递增。奇数下标层上的所有节点的值都是偶整数,从左到右按顺序 严格递减。
2023-09-04 12:23:28
397
1
原创 leetcode 594.最长和谐子序列(滑动窗口)
leetcode 594.最长和谐子序列。和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度。数组的子序列是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。
2023-09-04 09:55:31
342
原创 leetcode 1859.将句子排序
leetcode 1859.将句子排序。一个 句子 指的是一个序列的单词用单个空格连接起来,且开头和结尾没有任何空格。每个单词都只包含小写或大写英文字母。
2023-09-04 07:57:13
297
原创 数组中出现次数超过一半的数字
数组中出现次数超过一半的数字。给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。
2023-08-30 19:53:16
467
2
原创 leetcode 155.最小栈
leetcode 155.最小栈。设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类。int getMin() 获取堆栈中的最小元素。
2023-08-29 19:24:25
359
1
原创 leetcode 563.二叉树的坡度
leetcode 563.二叉树的坡度。给你一个二叉树的根节点 root ,计算并返回整个树的坡度 。一个树的节点的坡度定义即为,该节点左子树的节点之和和右子树节点之和的差的绝对值 。如果没有左子树的话,左子树的节点之和为 0 ;没有右子树的话也是一样。空结点的坡度是 0 。整个树的坡度就是其所有节点的坡度之和。
2023-08-29 17:27:04
267
1
原创 leetcode 1022.从根到叶的二进制数之和
leetcode 1022.从根到叶的二进制数之和。给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。
2023-08-28 12:29:21
302
原创 leetcode 541.反转字符串II
leetcode 541.反转字符串II。给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。
2023-08-25 15:43:45
481
原创 leetcode 17.电话号码字母组合
leetcode 17.电话号码字母组合。给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
2023-08-25 12:20:00
407
原创 牛客OJ 把字符串转换成整数
牛客OJ 把字符串转换成整数。将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。
2023-08-24 12:51:23
172
原创 leetcode 118.杨辉三角
leetcode 118.杨辉三角。给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。
2023-08-23 23:15:47
584
原创 leetcode 125.验证回文串
leetcode 125。验证回文串.如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。
2023-08-19 22:55:46
993
原创 leetcode 387.字符串中第一个唯一字符
leetcode 387.字符串中第一个唯一字符。给定一个字符串 s ,找到它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。
2023-08-19 22:30:45
596
原创 leetcode 415.字符串相加
leetcode 415.字符串相加。给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。
2023-08-18 20:07:05
369
1
原创 leetcode 1614.括号的最大嵌套深度
leetcode 1614.括号的最大嵌套深度给你一个 有效括号字符串 s,返回该字符串的 s 嵌套深度 。
2023-08-16 12:43:50
407
原创 leetcode 917.仅仅反转字母
leetcode 917.仅仅反转字母。给你一个字符串 s ,根据下述规则反转字符串:所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。
2023-08-16 11:34:42
458
原创 leetcode 面试题 02.05 链表求和
leetcode 面试题 02.05 链表求和。给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。
2023-08-14 20:19:27
876
1
原创 C++类和对象(下)
C++ 构造函数的初始化列表、explicit关键字、static 修饰成员函数和成员变量,友元的使用友元函数和友元类、以及内部类的介绍。
2023-08-13 19:29:47
204
1
原创 C++类和对象(中)
类的六个默认成员函数详解。构造函数、析构函数、拷贝构造、赋值重载的特性以及使用。运算符的重载(前置++和后置++重载的不同),const修饰的成员函数,和取地址及const取地址运算符的重载
2023-08-12 20:12:41
249
2
原创 leetcode 1171.从链表中删去总和值为零的连续节点
leetcode 1171.从链表中删去总和值为零的连续节点。给你一个链表的头节点 head,请你编写代码,反复删去链表中由 总和 值为 0 的连续节点组成的序列,直到不存在这样的序列为止。删除完毕后,请你返回最终结果链表的头节点。
2023-08-11 11:46:23
195
2
原创 leetcode 1290.二进制链表转整数
leetcode 1290.二进制链表转整数。给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。
2023-08-05 21:05:02
374
1
原创 leetcode 33.搜索旋转排序数组
leetcode 33.搜索旋转排序数组。整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0
2023-08-04 20:08:59
323
2
原创 leetcode 35.搜索插入位置
leetcode 35.搜索插入位置。给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
2023-08-04 12:42:06
203
2
原创 leetcode 1480.一维数组的动态和
leetcode 1480.一维数组的动态和。给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = (sum(nums[0 + ... + nums[i]) 。
2023-08-03 13:03:23
203
2
原创 C++类和对象(上)
C++类和对象(上)。类的对象的定义,类的访问限定修饰符,类的存储模式以及怎样计算类的大小。this指针和原理和注意事项。
2023-08-01 20:19:42
264
3
原创 c++基础知识(inline、auto、nullptr)
c++基础知识 内联函数inline的作用和特性、auto关键字的使用场景和注意事项、nullptr的使用和注意事项。
2023-07-31 19:37:24
759
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人