前端学习
zyc06123
这个作者很懒,什么都没留下…
展开
-
【leetcode刷题笔记】9.在排序数组中查找数字Ⅰ
题目如下: 统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例2: 输入: nums = [5,7,7,8,8,10], target = 6 输出: 0 尝试: 思路: 遍历即可,用i记录出现次数然后输出。 代码如下: /** * @param {number[]} nums * @param {number} target * @return {number} */ var sea.原创 2022-02-20 21:02:09 · 570 阅读 · 0 评论 -
【leetcode刷题笔记】6.复杂链表的复制(中等)
题目如下: 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出:[[7,null],[13,0],[11,4],[10,2],[1,0]] 思路:利用ES6中的map数据结构。map数据结构的键可以是各种数据类型。因此在我们构建的map中,.原创 2022-02-19 22:51:34 · 141 阅读 · 0 评论 -
【leetcode刷题笔记】8.左旋转字符串(简单)
题目如下: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1: 输入: s = "abcdefg", k = 2 输出:"cdefgab" 示例 2: 输入: s = "lrloseumgh", k = 6 输出:"umghlrlose" 思路:拆成数组,根据n移除数组前n个元素,同时记录下来,再添加到数组最后,然后再将数组转回..原创 2022-02-19 21:40:40 · 360 阅读 · 0 评论 -
【leetcode刷题笔记】7.替换空格(简单)
题目如下: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 尝试: 思路:利用split()方法,将字符串变为数组,再进行拼接。 代码如下: /** * @param {string} s * @return {string} */ var replaceSpace = function(s) { let n = s.split(" "); let原创 2022-02-19 21:10:25 · 406 阅读 · 0 评论 -
【leetcode刷题笔记】5.反转链表(简单)
题目如下: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 <= 节点个数 <= 5000 尝试: 思路:准备两个指针,改变指针的朝向。 注意:当前指针下一位需要储存起来,否则就断掉了。 代码如下: /** * Definition for singly-linked原创 2022-02-18 23:04:20 · 235 阅读 · 0 评论 -
【leetcode刷题笔记】4.从尾到头打印链表(简单)
题目如下: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 第一次尝试: 思路:建立一个新的数组,每读取一个元素就向数组第一位添加一个元素。 注意:记得让指针移动。 代码如下: /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.ne原创 2022-02-17 21:36:55 · 327 阅读 · 0 评论 -
【leetcode刷题笔记】3.包含min函数的栈(简单)
题目如下: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.min(); --> 返回 -3. minStack.pop(); minStack.top(); -->...原创 2022-02-17 21:18:18 · 595 阅读 · 1 评论 -
【leetcode刷题笔记】2.用两个栈实现队列(简单)
题目如下: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 ) 示例 1: 输入: ["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]] 输出:[null,null,3,-1] 示例 2: 输入: ["CQueue","deleteHead","a..原创 2022-02-16 21:28:45 · 204 阅读 · 0 评论 -
【leetcode刷题笔记】1.数组中重复的数字(简单)
题目如下: 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 第一次尝试: 思路:考虑使用js中的set数据结构来解决,set数据结构类似于数组,但成员的值都是唯一的。 注意: 1.set数据结构保存值是这样的: 因此比较时不可以..原创 2022-02-16 18:35:17 · 378 阅读 · 0 评论