
LeetCode
LiLi_code
热爱技术的互联网女孩~
展开
-
LeetCode912. 排序数组(JavaScript手撕各种排序算法)
题目链接:https://leetcode-cn.com/problems/sort-an-array/submissions/这是一道好题目,可以用来练习手撕各种排序算法,别直接调用api错过了这道好题哦!目录一、插入排序直接插入排序:超时折半插入排序:AC希尔排序:AC二、交换排序冒泡排序:AC快速排序:AC三、选择排序选择排序:AC堆排序:AC四、归并排序归并排序:AC五、JavaScript 内部 API直接调用API:AC一、..原创 2021-06-29 09:41:16 · 591 阅读 · 1 评论 -
LeetCode46. 全排列(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/permutations/submissions/回溯大法好啊! 我还用了标记数组,回溯完记得恢复原状/** * @param {number[]} nums * @return {number[][]} */var permute = function(nums) { let ans = [] //存放所有的排列结果 let temp = [] //存放每一次的排列数据 let len =原创 2021-06-27 21:21:44 · 198 阅读 · 0 评论 -
LeetCode349. 两个数组的交集
题目链接:https://leetcode-cn.com/problems/intersection-of-two-arrays/使用set求2个数组的交集:var intersection = function(nums1, nums2) { var set = new Set(nums1) //Array.from 就是将一个类数组对象或者可遍历对象转换成一个真正的数组 nums2 = Array.from(new Set(nums2)) //为nums2去重原创 2021-06-26 18:50:34 · 171 阅读 · 1 评论 -
LeetCode160.相交链表
题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/方法一:非常的巧妙优美,可以让两个节点走完自己的路再去走对方的路,从而走的节点数会是一样长的var getIntersectionNode = function(headA, headB) { if(!headA || !headB) return null; let A = headA let B = headB whi原创 2021-06-26 17:00:49 · 149 阅读 · 0 评论 -
LeetCode121. 买卖股票的最佳时机(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/DP思想:1. 记录【今天之前买入的最小值】,是为了在最小值买2. 计算【今天之前最小值买入,可以获得的利润】,这便是今天卖出的话的最大利润3. 比较【每天的最大利润】,取最大值/** * @param {number[]} prices * @return {number} */var maxProfit = function(price原创 2021-06-26 16:29:45 · 193 阅读 · 0 评论 -
LeetCode94. 二叉树的中序遍历(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/同样有递归法与非递归法递归法:/** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefine原创 2021-06-25 16:11:51 · 244 阅读 · 0 评论 -
LeetCode704. 二分查找(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/binary-search/就是一道经典的二分查找题目,可以使用递归,也可以使用非递归递归解析:/** * @param {number[]} nums * @param {number} target * @return {number} */var search = function(nums, target) { let left = 0; let right = nums.leng原创 2021-06-25 15:03:21 · 198 阅读 · 0 评论 -
LeetCode206. 反转链表(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/reverse-linked-list//** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *//** * @para原创 2021-06-25 14:29:40 · 161 阅读 · 0 评论 -
LeetCode53. 最大子序和 (JavaScript 4种方法解析)
题目链接:https://leetcode-cn.com/problems/maximum-subarray/经典题就需要认真做,我主要用三种方法完成本题方法一:暴力/** * @param {number[]} nums * @return {number} */var maxSubArray = function(nums) { if(nums.length == 1){ return nums[0]; } let ans = -99999;原创 2021-06-22 17:05:26 · 236 阅读 · 0 评论 -
LeetCode165. 比较版本号 (JavaScript解析)
题目链接:https://leetcode-cn.com/problems/compare-version-numbers//** * @param {string} version1 * @param {string} version2 * @return {number} */var compareVersion = function(version1, version2) { let arr1 = version1.split('.'); let arr2 = ver原创 2021-06-21 21:13:52 · 297 阅读 · 1 评论