合集-leetcode
摘要:1 /** 2 * @param {string} s 3 * @param {number} numRows 4 * @return {string} 5 */ 6 var convert = function (s, numRows) { 7 if (numRows 1) { 8 return
阅读全文
摘要:/** * @param {number} x * @return {number} */ var reverse = function (x) { let result = 0; let p = 1; if (x < 0) { x = -x; p = -1; } while (x > 0) { l
阅读全文
摘要:/** * @param {string} s * @return {string} */ var longestPalindrome = function (s) { let ll = s.length; let left = 0; let right = 1; let p = 0; while
阅读全文
摘要:/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number} */ var findMedianSortedArrays = function (nums1, nums2) { const nums = nums
阅读全文
摘要:/** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function (s) { let max = 0; let num = 0; let hasp; const hashMap = new Ma
阅读全文
摘要:1 /** 2 * @param {ListNode} l1 3 * @param {ListNode} l2 4 * @return {ListNode} 5 */ 6 var addTwoNumbers = function (l1, l2) { 7 let addOne = 0 8 let s
阅读全文
摘要:1 /** 2 * @param {number[]} nums 3 * @param {number} target 4 * @return {number[]} 5 */ 6 var twoSum = function (nums, target) { 7 const ll = nums.len
阅读全文
摘要:/** * @param {string} s * @return {number} */ var myAtoi = function (s) { // 正负号默认为正 let res = 0; let negativeSymbol = 1; s = s.trim(); for (let i = 0
阅读全文
摘要:/** * @param {number} x * @return {boolean} */ var isPalindrome = function (x) { if (x 0) return true; if (x < 0 || x % 10 0) { return false; } let y
阅读全文
摘要:/** * @param {string} s * @param {string} p * @return {boolean} */ var isMatch = function (s, p) { if (s == null || p == null) return false;//极端情况 s和p
阅读全文
摘要:// @lc code=start /** * @param {number[]} height * @return {number} */ var maxArea = function (height) { let left = 0; let right = height.length - 1;
阅读全文
摘要:// @lc code=start /** * @param {number} num * @return {string} */ var intToRoman = function (num) { const nums = [1000, 900, 500, 400, 100, 90, 50, 40
阅读全文
摘要:// @lc code=start /** * @param {string} s * @return {number} */ var romanToInt = function (s) { const getValue = (a) => { switch (a) { case 'I': retur
阅读全文
摘要:// @lc code=start /** * @param {string[]} strs * @return {string} */ var longestCommonPrefix = function (strs) { var ll = strs.length; if (ll 0) { ret
阅读全文
摘要:// @lc code=start /** * @param {number[]} nums * @return {number[][]} */ var threeSum = function (nums) { const lists = []; nums.sort((a, b) => a - b)
阅读全文
摘要:/** * @param {number[]} nums * @param {number} target * @return {number} */ var threeSumClosest = function (nums, target) { nums.sort((a, b) => a - b)
阅读全文
摘要:/** * @param {string} digits * @return {string[]} */ var letterCombinations = function (digits) { if (digits null || digits.length 0) { return []; } e
阅读全文
摘要:/** * @param {number[]} nums * @param {number} target * @return {number[][]} */ var fourSum = function (nums, target) { const res = []; const n = nums
阅读全文
摘要:/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val undefined ? 0 : val) * this.next = (next undefined ? null
阅读全文
摘要:/** * @param {string} s * @return {boolean} */ var isValid = function (s) { let stack = []; for (let c of s) { if (c '(') { stack.push(')'); } else if
阅读全文
摘要:1 /** 2 * Definition for singly-linked list. 3 * function ListNode(val, next) { 4 * this.val = (val undefined ? 0 : val) 5 * this.next = (next undefin
阅读全文
摘要:/** * @param {number} n * @return {string[]} */ var generateParenthesis = function (n) { const ans = []; const dfs = (s, open, close) => { if (open >
阅读全文
摘要:/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val undefined ? 0 : val) * this.next = (next undefined ? null
阅读全文
摘要:/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val undefined ? 0 : val) * this.next = (next undefined ? null
阅读全文
摘要:/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val undefined ? 0 : val) * this.next = (next undefined ? null
阅读全文
摘要:/** * @param {number[]} nums * @return {number} */ var removeDuplicates = function (nums) { let i = 1, left = 0; // 当fast指针超出数组范围则终止循环 while (i < nums
阅读全文
摘要:/** * @param {number[]} nums * @param {number} val * @return {number} */ var removeElement = function (nums, val) { let left = 0; let point = 0; while
阅读全文
摘要:/** * @param {string} haystack * @param {string} needle * @return {number} */ var strStr = function (haystack, needle) { if (haystack.length == 0 || n
阅读全文
摘要:/** * @param {number} dividend * @param {number} divisor * @return {number} */ var divide = function (dividend, divisor) { if (dividend 0) { return 0;
阅读全文
摘要:/** * @param {string} s * @param {string[]} words * @return {number[]} */ var findSubstring = function (s, words) { const k = words[0].length; // 字符串长
阅读全文
摘要:/** * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. */ var nextPermutation = function (nums) { const n
阅读全文
摘要:/** * @param {string} s * @return {number} */ var longestValidParentheses = function (s) { let [max, left, right] = [0, 0, 0]; for (let i = 0; i < s.l
阅读全文
摘要:/** * @param {number[]} nums * @param {number} target * @return {number} */ var search = function (nums, target) { //凡是从有序数列中寻找目标值,第一个应该想到二分法 if (nums
阅读全文
摘要:/** * @param {number[]} nums * @param {number} target * @return {number[]} */ var searchRange = function (nums, target) { if (nums.length <= 0) { //处理
阅读全文
摘要:/** * @param {number[]} nums * @param {number} target * @return {number} */ var searchInsert = function (nums, target) { const ll = nums.length let le
阅读全文
摘要:/** * @param {character[][]} board * @return {boolean} */ var isValidSudoku = function (board) { for (let i = 0; i < 9; i++) { for (let j = 0; j < 9;
阅读全文
摘要:/** * @param {character[][]} board * @return {void} Do not return anything, modify board in-place instead. */ var solveSudoku = function (board) { con
阅读全文
摘要:1 /** 2 * @param {number} n 3 * @return {string} 4 */ 5 var countAndSay = function (n) { 6 if (n 1) { 7 return '1'; 8 } 9 let str = '1'; 10 while (tru
阅读全文
摘要:/** * @param {number[]} candidates * @param {number} target * @return {number[][]} */ var combinationSum = function (candidates, target) { const res =
阅读全文
摘要:/** * @param {number[]} candidates * @param {number} target * @return {number[][]} */ var combinationSum2 = function (candidates, target) { candidates
阅读全文
摘要:/** * @param {number[]} nums * @return {number} */ var firstMissingPositive = function (nums) { const ll = nums.length for (let i = 0; i < ll; i++) {
阅读全文
摘要:/** * @param {number[]} height * @return {number} */ const trap = function (height) { let res = 0, left = 0, right = height.length - 1, lmax = 0, rmax
阅读全文
摘要:/** * @param {string} num1 * @param {string} num2 * @return {string} */ const multiply = function (num1, num2) { const len1 = num1.length; const len2
阅读全文
摘要:和第十题很相似,当时第十题使用js写的直接就挪过来了,这道题当初用java写的,在转为js时又重新整理了一下逻辑。思路图解的话可以参考这篇文章:https://blog.51cto.com/u_15067267/3677200 1 /** 2 * @param {string} s 3 * @par
阅读全文
摘要:/** * @param {number[]} nums * @return {number} */ const jump = function (nums) { if (nums.length 1) return 0; let ans = 0; let left = 0; let right =
阅读全文
摘要:/** * @param {number[]} nums * @return {number[][]} */ var permute = function (nums) { const res = [] function dp(arr, nums) { if (nums.length 1) { re
阅读全文
摘要:/** * @param {number[]} nums * @return {number[][]} */ var permuteUnique = function (nums) { nums.sort() const res = [] function dp(arr, nums) { if (n
阅读全文
摘要:/** * @param {number[][]} matrix * @return {void} Do not return anything, modify matrix in-place instead. */ var rotate = function (matrix) { const ll
阅读全文
摘要:/** * @param {string[]} strs * @return {string[][]} */ const groupAnagrams = function (strs) { if (strs.length 0) return []; const ans = {}; for (let
阅读全文
摘要:/** * @param {number} x * @param {number} n * @return {number} */ var myPow = function (x, n) { if (n < 0) { x = 1 / x; n = -n; } let res = 1; while (
阅读全文
摘要:1 /** 2 * @param {number} n 3 * @return {string[][]} 4 */ 5 const solveNQueens = function (n) { 6 const ans = []; 7 const initialMap = Array.from(Arra
阅读全文
摘要:1 /** 2 * @param {number} n 3 * @return {number} 4 */ 5 var totalNQueens = function (n) { 6 let ans = 0; 7 const initialMap = Array.from(Array(n), ite
阅读全文
摘要:/** * @param {number[]} nums * @return {number} */ var maxSubArray = function (nums) { let sum = 0; let res = nums[0]; nums.forEach((n) => { if (sum >
阅读全文
摘要:/** * @param {number[][]} matrix * @return {number[]} */ var spiralOrder = function (matrix) { const m = matrix.length const n = matrix[0].length cons
阅读全文
摘要:/** * @param {number[]} nums * @return {boolean} */ var canJump = function (nums) { const endPoint = nums.length - 1 if (endPoint 0) { return true } l
阅读全文
摘要:1 /** 2 * @param {number[][]} intervals 3 * @return {number[][]} 4 */ 5 var merge = function (intervals) { 6 //排序 7 intervals.sort(function (a, b) { 8
阅读全文
摘要:1 /** 2 * @param {number[][]} intervals 3 * @param {number[]} newInterval 4 * @return {number[][]} 5 */ 6 var insert = function (intervals, newInterva
阅读全文
摘要:1 /** 2 * @param {string} s 3 * @return {number} 4 */ 5 const lengthOfLastWord = function (s) { 6 let ans = 0; 7 for (let i = s.length - 1; i >= 0; i-
阅读全文
摘要:/** * @param {number} n * @return {number[][]} */ var generateMatrix = function (n) { const matrix = Array.from(Array(n), () => Array(n).fill(0)); let
阅读全文
摘要:1 /** 2 * @param {number} n 3 * @param {number} k 4 * @return {string} 5 */ 6 const getPermutation = function (n, k) { 7 const list = new Array(n).fil
阅读全文
摘要:1 /** 2 * Definition for singly-linked list. 3 * function ListNode(val, next) { 4 * this.val = (val undefined ? 0 : val) 5 * this.next = (next undefin
阅读全文
摘要:/** * @param {number} m * @param {number} n * @return {number} */ var uniquePaths = function (m, n) { // n 行 m列 const matrix = Array.from(Array(m), it
阅读全文
摘要:/** * @param {number[][]} obstacleGrid * @return {number} */ var uniquePathsWithObstacles = function (obstacleGrid) { const m = obstacleGrid.length co
阅读全文
摘要:1 /** 2 * @param {number[][]} grid 3 * @return {number} 4 */ 5 var minPathSum = function (grid) { 6 const m = grid.length 7 const n = grid[0].length 8
阅读全文
摘要:1 /** 2 * @param {string} s 3 * @return {boolean} 4 */ 5 var isNumber = function (s) { 6 const graph = { 7 0: { 'blank': 0, '.': 2, 'digit': 6, 'sign'
阅读全文
摘要:/** * @param {number[]} digits * @return {number[]} */ const plusOne = function (digits) { let i = digits.length - 1; for (; i >= 0;) { if (digits[i]
阅读全文
摘要:1 /** 2 * @param {string} a 3 * @param {string} b 4 * @return {string} 5 */ 6 var addBinary = function (a, b) { 7 let shortList = [] 8 let longList =
阅读全文
摘要:1 /** 2 * @param {string[]} words 3 * @param {number} maxWidth 4 * @return {string[]} 5 */ 6 var fullJustify = function (words, maxWidth) { 7 const wL
阅读全文
摘要:1 /** 2 * @param {number} x 3 * @return {number} 4 */ 5 var mySqrt = function (x) { 6 if (x == 0 || x == 1) return x; 7 let i = 0; 8 let j = ((x / 2)
阅读全文
摘要:1 /** 2 * @param {number} n 3 * @return {number} 4 */ 5 var climbStairs = function (n) { 6 let dp = []; 7 dp[0] = 0; 8 dp[1] = 1; 9 dp[2] = 2; 10 for
阅读全文
摘要:1 /** 2 * @param {string} path 3 * @return {string} 4 */ 5 var simplifyPath = function (path) { 6 const arr = path.split('/'); 7 const ans = []; 8 for
阅读全文
摘要:1 /** 2 * @param {string} word1 3 * @param {string} word2 4 * @return {number} 5 */ 6 var minDistance = function (word1, word2) { 7 const len1 = word1
阅读全文
摘要:1 /** 2 * @param {number[][]} matrix 3 * @return {void} Do not return anything, modify matrix in-place instead. 4 */ 5 const setZeroes = function (mat
阅读全文
摘要:1 /** 2 * @param {number[][]} matrix 3 * @param {number} target 4 * @return {boolean} 5 */ 6 const searchMatrix = function (matrix, target) { 7 const
阅读全文
摘要:1 /** 2 * @param {number[]} nums 3 * @return {void} Do not return anything, modify nums in-place instead. 4 */ 5 var sortColors = function (nums) { 6
阅读全文
摘要:1 /** 2 * @param {string} s 3 * @param {string} t 4 * @return {string} 5 */ 6 var minWindow = function (s, t) { 7 if (s.length < t.length) { 8 return
阅读全文
摘要:1 /** 2 * @param {number} n 3 * @param {number} k 4 * @return {number[][]} 5 */ 6 var combine = function (n, k) { 7 let result = []; // 存储结果 8 let sub
阅读全文
摘要:1 /** 2 * @param {number[]} nums 3 * @return {number[][]} 4 */ 5 var subsets = function (nums) { 6 const result = [[]] 7 for (let i = 0; i < nums.leng
阅读全文
摘要:1 /** 2 * @param {character[][]} board 3 * @param {string} word 4 * @return {boolean} 5 */ 6 var exist = function (board, word) { 7 const yLen = board
阅读全文
摘要:1 /** 2 * @param {number[]} nums 3 * @return {number} 4 */ 5 var removeDuplicates = function (nums) { 6 let i = 1; 7 while (i < nums.length) { 8 if (n
阅读全文

浙公网安备 33010602011771号