摘要: 逆波兰表达式求值 解题思路:比较简单,经典的栈应用,需要注意的是判断运算符的时候要用equals进行符号匹配。处理“-”和“/”时注意数字的处理,减法可以转换成加法,将字符串类型的数字转化成整形可以使用Integer.valueOf() 滑动窗口最大值 解题思路:使用代码随想录提供的解题方法,维护一 阅读全文
posted @ 2025-10-11 16:54 重生励志成为算法高手 阅读(12) 评论(0) 推荐(0)
摘要: 用栈实现队列 整体思路:使用两个栈一个当作入栈,一个当作出栈,当队列需要出队列的时候,将入栈的元素,倒序放入出栈里面,对出栈进行pop操作即可,若需要获得队头元素,同理,执行出栈peek操作即可,判断队列是否为空要进行判断入栈和出栈里是否均为空 用队列实现栈 解题思路:在加入元素时先将q1中的元素依 阅读全文
posted @ 2025-10-07 17:10 重生励志成为算法高手 阅读(5) 评论(0) 推荐(0)
摘要: 反转字符串中的单词 整体思路:先将整体翻转,再进行翻转其中的单词,以空格划分进行单词操作,使用快慢指针思想,快指针获取符合题目要求的字母,慢指针是获取到字母后更新到哪里 代码如下:class Solution { public String reverseWords(String s) { char 阅读全文
posted @ 2025-10-06 00:37 重生励志成为算法高手 阅读(8) 评论(0) 推荐(0)
摘要: 344反转字符串 思路:简单,跳过 541反转字符串 思路:参考的是代码随想录里带temp的那一个解法,下标使用i+=2k来进行循环,每次要求翻转每2k的前k个字符,因此不需要考虑当2k跳超过字符串长的情况,如果超过一个,不需要翻转,超过在k个范围的境况下,上一个循环已经翻转了,因为翻转的是i和i+ 阅读全文
posted @ 2025-09-25 11:08 重生励志成为算法高手 阅读(2) 评论(0) 推荐(0)
摘要: 第454题.四数相加II(二刷) 解题:没有任何的正确思路,完全看题解 代码如下: class Solution { public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) { int res = 0; 阅读全文
posted @ 2025-09-23 21:56 重生励志成为算法高手 阅读(5) 评论(0) 推荐(0)
摘要: 有效的字母异位词 题目:判断两个字符串的字母是否一样 解题思路:通过字母在Ascll表对应的数字可以定义一个26容量大小的数组,将字符串包含的字母映射到数组中,再用另一个字符串对数组进行操作 代码如下: class Solution { public boolean isAnagram(String 阅读全文
posted @ 2025-09-22 20:04 重生励志成为算法高手 阅读(8) 评论(0) 推荐(0)
摘要: 两两交换链表中的节点 注意:交换两个节点的步骤,采用虚拟节点会更加方便,每次交换的步骤是相同的所以可以使用递归做出来(二刷再做吧),然后就是注意指针是否为空,普通做法时可以将保存交换节点的下一个接地点,替换成前一个节点直接连到下一个节点的下一个节点,这在代码随想录里有(二刷) 代码如下(感觉有点繁琐 阅读全文
posted @ 2025-09-20 21:24 重生励志成为算法高手 阅读(18) 评论(0) 推荐(0)
摘要: 203移除链表元素 注意事项:java语言的访问链表和数据用的是".",空指针是小写的null。在删除链表时先对表头进行判断避免表头是null和表头元素是要删除的元素,下面进行循环寻找时要注意判断指针的下一个指针是否为空指针 707设计链表(没做出来) 原因:对java语言有点忘记不熟悉,抽时间重新 阅读全文
posted @ 2025-09-19 21:39 重生励志成为算法高手 阅读(17) 评论(0) 推荐(0)
摘要: 长度最小的子数组(没做出来) 题目要求:寻找一个数组中满足大于等于目标要求的最小子数组 解题思路:返回结果可能是不存在,所以需要定义一个合适的初始值,可以使用java的最大数Integer.MAX_VALUE,然后使用滑动窗口寻找满足条件的子数组,这时还需要对之前的数进行减去,避免子数组中依然含有满 阅读全文
posted @ 2025-09-18 21:27 重生励志成为算法高手 阅读(25) 评论(0) 推荐(0)
摘要: 第一题二分查找 简答回答:经典的二分查找,采用的是左闭右闭区间,主要需要注意的就是右区间的下标 代码如下:class Solution { public int search(int[] nums, int target) { int left = 0;//左下标 int right = nums. 阅读全文
posted @ 2025-09-17 11:44 重生励志成为算法高手 阅读(34) 评论(0) 推荐(0)