分类: 数据结构
thumbnail

二分查找技巧|刷题合集

剑指 Offer 04. 二维数组中的查找 /** * @param {number[][]} matrix * @param {number} target * @return {boolean} */ var findNumberIn2DA……
thumbnail

秒杀所有岛屿题目|合集

463. 岛屿的周长 /** * @param {number[][]} grid * @return {number} */ var islandPerimeter = function(grid) { let res=0; le……
thumbnail

回溯算法|DFS刷题合集

46. 全排列 /** * @param {number[]} nums * @return {number[][]} */ var permute = function(nums) { let track=[]; let re……
thumbnail

二叉搜索树|刷题合集

230. 二叉搜索树中第K小的元素 /** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===undefin……
thumbnail

堆排|快排合集

JavaScript快速排序 方法二(原地快排): /** * @param {number[]} nums * @return {number[]} */ var sortArray = function(nums) ……
thumbnail

JavaScript刷题方法总结

数组 数组的foreach、filter、map、find forEach 功能: 循环遍历数组中的每一项,只能遍历数组 写法: 数组对象.forEach(function(参数变量名1,参数变量……
thumbnail

刷题技巧|二叉树刷题合集

二叉树解题的思维模式分两类: 1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个traverse函数配合外部变量来实现,这叫「遍历」的思维模式。 ……
thumbnail

2,3,n数之和|算法技巧

剑指 Offer 57. 和为s的两个数字 /** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = funct……
thumbnail

双指针技巧|数组篇刷题合集

26. 删除有序数组中的重复项 /** * @param {number[]} nums * @return {number} */ var removeDuplicates = function(nums) { if(nums.le……
thumbnail

双指针技巧|链表篇刷题合集

剑指 Offer 18. 删除链表的节点 单指针: /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * thi……
thumbnail

算法技巧:前缀和数组刷题合集

303. 区域和检索 - 数组不可变 题目要求你实现这样一个类: class NumArray {     public NumArray(int[] nums) {}     /* 查询闭区间 [left……
thumbnail

寻找重复子树

给定一棵二叉树 root,返回所有重复的子树。 对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。 如果两棵树具有相同的结构和相同的结点值……
thumbnail

滑动窗口的最大值

给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动……
thumbnail

包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。   示例: MinStack minSta……
thumbnail

判断树B是否是A树的子结构

输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如:给定的树 A……
thumbnail

腾讯笔试编程题

  删除k层结点 一棵n个结点的二叉树,牛牛想要删除概树中的k层结点, 如删除第2层,则输出[{3},{15,7}] 删除2、3层,则输出[3]   思路: 跟层序遍历差不多……