随笔分类 -  JS编程练习题

摘要:给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。class Node { public int val; public List<Node> neighbors;}测试用例格式:简单起见,每个节 阅读全文
posted @ 2021-06-05 22:34 喵喵队立大功 阅读(82) 评论(0) 推荐(0)
摘要:给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左边界和上边界,而“大西洋”处于大陆的右边界和下边界。规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单元的坐标。 阅读全文
posted @ 2021-06-05 18:27 喵喵队立大功 阅读(103) 评论(0) 推荐(0)
摘要:深度优先:先访问根结点,然后对根结点没访问过的相邻节点挨个进行深度优先遍历 广度优先:新建一个队列,根结点入队,队头出队并且访问,把队头没访问过的相邻节点入队,重复中间步骤直到队列为空。 1 const graph = { 2 0: [1, 2], 3 1: [2], 4 2: [0, 3], 5 阅读全文
posted @ 2021-06-04 23:06 喵喵队立大功 阅读(143) 评论(0) 推荐(0)
摘要:1 const json = { 2 a: { b: { c:1 }}, 3 d: [1,2], 4 }; 5 6 const dfs = (n, path) => { 7 console.log(n, path); 8 Object.keys(n).forEach(k => { 9 dfs(n[k 阅读全文
posted @ 2021-06-03 11:45 喵喵队立大功 阅读(296) 评论(0) 推荐(0)
摘要:给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root = [5,4,8,11,null,13,4,7,2,nu 阅读全文
posted @ 2021-06-03 10:58 喵喵队立大功 阅读(121) 评论(0) 推荐(0)
摘要:给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3]输出:[1,3,2] 示例 2: 输入:root = []输出:[] 示例 3: 输入:root = [1]输出:[1] 示例 4: 输入:root = [1,2]输出:[2,1] 示 阅读全文
posted @ 2021-06-03 10:18 喵喵队立大功 阅读(197) 评论(0) 推荐(0)
摘要:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层序遍历结果: [ [3], [9,20], [15,7]] 1 /** 2 * Definiti 阅读全文
posted @ 2021-06-03 09:08 喵喵队立大功 阅读(181) 评论(0) 推荐(0)
摘要:给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例 1: 输入:root = [3,9,20,null,null,15,7]输出:2 示例 2: 输入:root = [2,null,3,null,4,null,5,n 阅读全文
posted @ 2021-06-02 23:59 喵喵队立大功 阅读(244) 评论(0) 推荐(0)
摘要:给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。 示例 1: 输入:s = "ADOBECODEBANC", t = "ABC"输出:"B 阅读全文
posted @ 2021-06-02 14:42 喵喵队立大功 阅读(168) 评论(0) 推荐(0)
摘要:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度 阅读全文
posted @ 2021-06-02 10:16 喵喵队立大功 阅读(451) 评论(0) 推荐(0)
摘要:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7, 阅读全文
posted @ 2021-06-02 07:18 喵喵队立大功 阅读(101) 评论(0) 推荐(0)
摘要:请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 1 /** 2 * Definition for singly-linked list. 3 * function ListNode(val, next) { 阅读全文
posted @ 2021-05-29 23:21 喵喵队立大功 阅读(122) 评论(0) 推荐(0)
摘要:给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可 阅读全文
posted @ 2021-05-29 22:44 喵喵队立大功 阅读(154) 评论(0) 推荐(0)
摘要:给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅 阅读全文
posted @ 2021-05-29 17:01 喵喵队立大功 阅读(167) 评论(0) 推荐(0)
摘要:存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。 返回同样按升序排列的结果链表。 示例 1: 输入:head = [1,1,2]输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3]输出:[1,2,3] 提示: 链表中节 阅读全文
posted @ 2021-05-29 16:13 喵喵队立大功 阅读(381) 评论(0) 推荐(0)
摘要:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6 阅读全文
posted @ 2021-05-29 15:13 喵喵队立大功 阅读(388) 评论(0) 推荐(0)
摘要:写一个 RecentCounter 类来计算特定时间范围内最近的请求。 请你实现 RecentCounter 类: RecentCounter() 初始化计数器,请求数为 0 。int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫 阅读全文
posted @ 2021-05-28 19:00 喵喵队立大功 阅读(105) 评论(0) 推荐(0)
摘要:给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root = [1,null,2,3]输出:[1,2,3]示例 2: 输入:root = []输出:[]示例 3: 输入:root = [1]输出:[1]示例 4: 输入:root = [1,2]输出:[1,2]示例 5 阅读全文
posted @ 2021-05-28 16:23 喵喵队立大功 阅读(119) 评论(0) 推荐(0)
摘要:给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()"输出:true示例 2: 输入:s = "()[]{}"输出:true示例 3: 阅读全文
posted @ 2021-05-28 14:30 喵喵队立大功 阅读(131) 评论(0) 推荐(0)
摘要:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2: 输入:head = [1,2]输出:[2,1]示例 3: 输入:head = []输出:[] 提示: 链表中节点的数目范围是 [0, 50 阅读全文
posted @ 2021-04-20 00:35 喵喵队立大功 阅读(248) 评论(0) 推荐(0)