自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【9. 回文数】

判断整数是否为回文数,即正序和倒序读相同的数。负数直接返回false。通过取余和除法将数字逐位存入数组,然后比较首尾对称位置的数字是否相同。提供C++、Java、Python和JavaScript四种实现,时间复杂度O(n),空间复杂度O(n)。算法简单高效,无需字符串转换。

2026-01-10 12:50:13 733

原创 【8. 字符串转换整数 (atoi)】

本文介绍了实现字符串转32位有符号整数的算法。该算法需要处理前导空格、正负号、前导零,并在转换过程中检查数字范围。文章提供了C++、Java、Python和JavaScript四种语言的实现代码,核心思路均为:先去除空格,判断符号,跳过前导零,然后逐位转换数字并检查是否超出32位整数范围。若超出则返回边界值,否则返回转换结果。算法时间复杂度为O(n),空间复杂度为O(1)。

2026-01-09 23:12:25 788

原创 【7. 整数反转】

本文介绍了整数反转问题的解决方案。题目要求将32位有符号整数x的数字部分反转,若结果超出32位整数范围则返回0。关键点在于处理反转过程中的整数溢出问题,通过比较当前结果与INT_MAX/10和INT_MIN/10的关系来预判溢出。文章提供了C++、Java、Python3和JavaScript四种语言的实现代码,核心思路都是采用循环取余和除法运算进行数字反转,并在每次迭代前进行溢出检查。该解法简洁高效,能正确处理正负数及边界情况。作者最后鼓励读者继续努力刷题,并表达了对新年的祝福。

2026-01-01 11:15:01 711

原创 【6. Z 字形变换】

题目要求将给定字符串按Z字形排列后按行读取。解题思路是通过模拟Z字形填充过程:先向下填充字符到指定行数,然后斜向上填充。实现时使用二维数组存储字符,最后按行拼接结果。提供了C++、Java、Python和JavaScript四种语言的实现代码,其中JavaScript版本可能存在性能问题未被通过。时间复杂度O(n),空间复杂度O(n^2)。虽然解法效率不高(仅超越5.17%用户),但提供了清晰的模拟思路。文末还附带了新年祝福和求赞信息。

2025-12-31 09:49:35 947

原创 【5. 最长回文子串】

本文介绍了求解最长回文子串的两种方法。第一种暴力枚举法时间复杂度为O(n^3),通过检查所有子串是否回文,但会超时。第二种动态规划法优化至O(n^2),利用回文字符串的对称特性,通过dp数组记录子串状态,快速判断回文。文章给出了C++、Java、Python和JavaScript四种语言的实现代码,并指出动态规划法虽不是最优解但易于理解。最后提到存在更优的O(n)算法(Manacher算法),建议读者自行了解。

2025-12-30 14:51:08 901

原创 【4.寻找两个正序数组的中位数】

题目要求找出两个有序数组的中位数,合并后计算中位数。通过归并排序合并数组,然后根据数组长度的奇偶性返回中位数。提供了C++、Java、Python3和JavaScript四种语言的实现代码,时间复杂度为O(m+n)。虽然题目难度标记为"难",但实际通过归并排序思路可以较简单解决。最后强调代码击败了100%的用户,并邀请观众留言讨论可能遗漏的细节。

2025-12-28 10:50:05 589

原创 【3. 无重复字符的最长子串】

本文探讨了求解字符串中无重复字符的最长子串长度问题。提出了两种解法:暴力枚举法(O(n²)时间复杂度)和优化的双指针滑动窗口法(O(n)时间复杂度)。后者通过动态调整窗口左右边界来避免重复计算,显著提升效率。文章给出了C++、Java、Python和JavaScript四种语言的实现代码,核心思路都是维护一个字符频率数组,当右指针遇到重复字符时移动左指针直至消除重复。该方法最终实现了线性时间复杂度,在LeetCode测试中表现优异。

2025-12-27 11:19:14 809

原创 【2. 两数相加】

题目要求将两个逆序存储的非负整数链表相加,返回同样逆序存储的和链表。解题思路采用竖式加法,使用变量t记录进位值,每次取模10得到当前位的值。提供了C、C++、Java、Python3和JavaScript五种语言的实现方案,时间复杂度O(n),空间复杂度O(n)。核心算法是同步遍历两个链表,处理进位并生成结果节点,直到所有数字和进位处理完毕。

2025-12-26 10:24:55 613

原创 【1. 两数之和】

本文介绍了"两数之和"问题的两种解法。第一种是暴力枚举法,时间复杂度O(n^2),通过双重循环遍历数组寻找匹配项。第二种优化解法使用哈希表,时间复杂度降为O(n),先存储数组元素和下标,再通过查找target-nums[i]快速定位匹配项。文中提供了C、C++、Java、Python和JavaScript五种语言的实现代码,并比较了两种方法的性能差异。哈希表方法显著提升了执行效率,但仍存在优化空间。

2025-12-25 20:57:43 989

空空如也

空空如也

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

TA关注的人

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