摘要: 今天两道题目都是KMP算法的应用,比较难,二刷再来~~ 28.实现strStr() 力扣题目链接 459.重复的子字符串 力扣题目链接 阅读全文
posted @ 2023-02-10 00:07 橙子的房东 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 344.反转字符串 力扣题目链接 心得:关键在于定义两个指针(也可以说是索引下标),一个从字符串前面,一个从字符串后面,两个指针同时向中间移动,并交换元素。 class Solution { public void reverseString(char[] s) { int i = 0; int j 阅读全文
posted @ 2023-02-08 00:16 橙子的房东 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 454.四数相加II 力扣题目链接 心得:这道题目感觉和昨天的最后一题【1.两数之和】思路挺像的。 1)先遍历2层for循环,求和,存入map 2)通过四数和为0这一信息,用0-sum,得到目标值target 3)去map中匹配,计算数量count 4)hashmap中key值不存在就添加键值对,k 阅读全文
posted @ 2023-02-07 00:00 橙子的房东 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 第五天是周末的休息日,嘿嘿,今天继续~ 当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。 用哈希法的数据结构:数组、set、map 242.有效的字母异位词 力扣题目链接 心得:重点是了解思路,代码还是很简洁的。只需要存储26个字母,可以用数组实现。 1)定义一个长度为26的数组 阅读全文
posted @ 2023-02-06 00:46 橙子的房东 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 24.两两交换链表中的节点 力扣题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/ 心得:关键是定义虚拟头结点、理清循环终止条件,交换的顺序,避免出现空指针、死循环。本题看视频理清思路之后,很快做出来了。 /** * Definition f 阅读全文
posted @ 2023-02-04 21:11 橙子的房东 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 203.移除链表元素 力扣题目链接:https://leetcode.cn/problems/remove-linked-list-elements/ 心得:这道题做出来了,但是看了题解,发现使用虚拟头结点更简清晰,附上代码。 没用虚拟头结点: class Solution { public Lis 阅读全文
posted @ 2023-02-04 14:39 橙子的房东 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 977.有序数组的平方 力扣题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 核心:双指针 心得:虽然做出来了,用到了双指针的思想,但代码过于复杂,有很多地方都可以再优化。 1)while内的if判断,没必要拆成三个条件,直接用 阅读全文
posted @ 2023-02-03 01:16 橙子的房东 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 704.二分查找 力扣题目链接:https://leetcode.cn/problems/binary-search/ 核心: 使用二分法 前提: 1)数组为有序数组 2)数组中无重复元素。 二分法区间的定义: 左闭右闭、左闭右开 心得: 1)边界条件容易混乱 2)第二次做这道题目了,还是做错了,理 阅读全文
posted @ 2023-02-01 23:10 橙子的房东 阅读(103) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示