LeetCode刷题目录(Java)

本文分享了LeetCode上44道题目的Java解题思路与代码实现,涵盖了快慢指针、分治法、递归等算法技巧,适合希望提高编程能力与算法水平的学习者参考。

LeetCode刷题笔记(Java)

这是我第一次系统地写关于OJ的刷题笔记,一方面是想与大家一起学习、一起讨论关于算法的知识,一方面也是为了督促我在这条路上坚持走下去。如果大家有任何疑问,欢迎留言与我一起谈论。希望大家都能在算法之道上走得更远。

进度

44 / 1283

题解

题号题目题解分类备注
876链表的中间结点Java快慢指针
108将有序数组转换为二叉搜索树Java分治法
107二叉树的层次遍历 IIJavaDFS
104二叉树的最大深度Java分治法
101对称二叉树Java递归
100相同的树Java递归
88合并两个有序数组Java水题
83删除排序链表中的重复元素Java简单模拟
70爬楼梯Java动态规划
69x的平方根Java二分查找
67二进制求和Java简单模拟
66加一JavaBigInteger
58最后一个单词的长度Java水题
53最大子序和Java贪心、动态规划
47全排列 IIJava回溯法
46全排列Java回溯法
38报数Java简单模拟
35搜索插入位置Java二分查找
28实现 strStr()JavaSunday算法
27移除元素Java
26删除排序数组中的重复数Java双指针
24两两交换链表中的节点Java链表
23合并K个排序链表Java分治法
22括号生成Java回溯法
21合并两个有序链表Java
20有效的括号Java
19删除链表的倒数第N个节点Java
18四数之和Java对撞指针
17电话号码的字母组合Java递归
16最接近的三数之和Java对撞指针
15三数之和Java对撞指针
14最长公共前缀Java分治
13罗马数字转整数Java水题
12整数转罗马数字Java记录法
11盛最多水的容器Java双指针法
10正则表达式匹配Java动态规划
9回文数Java数值处理
8字符串转换函数(atoi)Java字符串+数值处理
7整数反转JavaBigInteger
6Z字形变换Java字符串、简单模拟
4寻找两个有序数组的中位数Java二分
3无重复字符的最长子串Java滑动窗口
2两数相加Java链表、简单模拟
1两数之和JavaHash表

留言与讨论

暂无

### LeetCode Java 教程和技巧 #### 使用合适的数据结构 对于特定类型的目,选择适当的数据结构可以简化问并提高效率。例如,在处理队列操作时,`Deque<Integer> deque = new LinkedList<>();` 是一种有效的方式来初始化双端队列[^1]。 #### 动态规划的应用实例 以格雷编码为例,该类问可以通过动态规划的方法解决。具体来说,基于前一阶段的结果构建下一阶段的解决方案。比如从第 `n` 层的格雷码序列出发,通过在其反转后的每一个元素前面加上 '1' 来形成新的 `(n+1)` 层格雷码列表[^3]。 #### 子问分解策略 当面对复杂度较高的算法设计时,将大问拆分成若干个小而简单的子问是常见的做法之一。如果能够确保这些子问之间相互独立,则整个过程中的总工作量大致等于各部分之和。这表明随着输入大小的增长,所需处理的任务数目呈线性增长趋势,即时间复杂度为 O(n)[^4]。 #### 实战练习建议 为了更好地掌握编程技能以及应对实际面试场景下的挑战,定期参与像力扣这样的在线平台上的竞赛活动是非常有益处的。这里不仅提供了丰富的习资源供学习者反复操练,还允许用户提交自己的解答并与他人分享交流心得体验[^2]。 ```java // 示例代码:创建一个双向链表作为双端队列 Deque<Integer> deque = new LinkedList<>(); deque.addFirst(1); // 向头部添加元素 deque.addLast(2); // 向尾部添加元素 System.out.println(deque.pollFirst()); // 移除并返回最左边的元素 System.out.println(deque.pollLast()); // 移除并返回最右边的元素 ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值