Leetcode刷题记录--代码随想录
文章平均质量分 94
代码随想录--Leetcode刷题记录
Jackson96
这个作者很懒,什么都没留下…
展开
-
01.Leetcode刷题:数组专题
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。原创 2023-10-08 21:50:12 · 111 阅读 · 1 评论 -
02.Leetcode刷题:链表专题
题意:删除链表中等于给定值 val 的所有节点。示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]示例 2: 输入:head = [], val = 1 输出:[]示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]解法一:不使用虚拟头节点此时需要考虑两种情况:第一种情况是删除的元素就是头节点,第二种情况是删除的元素不是头节点。原创 2023-10-13 20:36:39 · 75 阅读 · 1 评论 -
03.Leetcode刷题:哈希表专题
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true示例 2: 输入: s = “rat”, t = “car” 输出: false说明: 你可以假设字符串只包含小写字母。解法一:暴力解法 两层for循环,同时还要记录字符是否重复出现、解法二:哈希表数组其实就是一个简单哈希表,而且这道题目中字符串只有小写字符,那么就可以定义一个数组,来记录字符串s里字符出现的次数。原创 2023-10-17 23:03:22 · 65 阅读 · 0 评论 -
04.Leetcode刷题:字符串专题
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:[“H”,“a”,“n”,“n”,“a”,“h”]原创 2023-10-22 19:25:50 · 71 阅读 · 1 评论 -
05.Leetcode刷题:栈专题
使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。说明:你只能使用标准的栈操作 – 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。原创 2023-11-12 22:23:05 · 53 阅读 · 0 评论 -
06.Leetcode刷题:二叉树专题(一)
方法一:递归三步法:1.确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。2.确定终止条件: 写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。3.确定单层递归的逻辑: 确定每一层递归需要处理的信息。在这里也就会重复调用自己来实现递归的过程。原创 2024-01-14 19:26:49 · 968 阅读 · 0 评论