leetcode中等题攻关
鸢尾小菜
这个作者很懒,什么都没留下…
展开
-
乐扣中等题(133)js--克隆图
解题步骤:①深度或广度优先遍历所有节点;②拷贝所有节点,存储起来;③将拷贝的节点,按照原图的连接方法进行连接。首先是判断node,不符合条件直接返回即可,不用浪费时间。然后再书写完整的深度优先遍历的过程,随后需要拷贝节点并存储。拷贝的时候比较简单,只要用const nCopy=new Node(n.val)就可以了,现在不传入neighbors会自动变成一个空数组。存储可以巧妙地和原节点的遍历形成一个映射,将visited新建的Set改成Map,然后让n对应nCopy即可,至此.原创 2022-03-18 11:40:52 · 1018 阅读 · 0 评论 -
乐扣中等题(417)js--太平洋大西洋水流问题
解题步骤①新建两个矩阵,分别记录能流到两个大洋的坐标②从海岸线,多管齐下,同时深度优先遍历图,过程中填充上述矩阵③遍历两个矩阵,找出能流到两个大洋的坐标原创 2022-03-18 10:47:47 · 262 阅读 · 0 评论 -
乐扣中等题(102)js--二叉树的层序遍历
给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。层序遍历就像是广度优先遍历,在遍历的过程中要记录每一个节点的层级,并将其添加到不同的数组中去。广度优先遍历的实现是:①新建一个队列;②把队头出队并访问;③把队头的children挨个入队;④重复第二、三步,直到队列为空。解法一:首先还是要判断,在root为空的时候,直接返回一个空数组。然后新建一个数组,在数组内有元素的时候一直重复以下工作,首先把队头的元素弹出并且赋给n,如果原创 2022-03-16 11:18:25 · 717 阅读 · 0 评论 -
乐扣中等题(3)js--无重复字符的最长子串
给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。/** * @param {string} s * @return {number} */var lengthOfLongestSubstring = function(s) { let l=0; let res=0; const map=new Map(); for(let r=0; r<s.length; r++) { if(map.has(s[r]) &&a...原创 2022-03-13 22:51:05 · 659 阅读 · 0 评论 -
乐扣中等题(946)js--验证栈序列
其实是抱着试试看的态度来写的,感觉颇具有挑战力,第一次写出来个半成品还是有点成就感的,遇到的小坑就是,忘记了const是不可以修改的,要用let写变量题目相当于是给了一个数组的两种排序方式,一边是push进去的,一遍是pop出来的,让看经过一番操作,栈是否为空。刚巧最近看过栈相关的知识,其实也就只会个push和pop,浅浅尝试一下先定义数组来模拟栈,遍历pushed数组,将元素push进去栈,在过程中,只要是栈不空的情况下,判断栈顶元素和我们想要pop出去的元素是否一致,相等则弹出,并且pope原创 2022-03-11 16:39:28 · 224 阅读 · 0 评论 -
乐扣中等题(2)js--两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。遍历两个被相加的链表,模拟相加操作,将个位数追加到新链表,.原创 2022-03-11 15:34:19 · 936 阅读 · 0 评论