![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
旺仔流奶
从现在开始努力也不算太晚
展开
-
剑指 Offer 22. 链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.思路:快慢指针,快指针先走k步,一直走到尾部,那么慢指针就可以得到倒数第k个元素了。/**.原创 2021-10-21 22:59:37 · 57 阅读 · 0 评论 -
二叉树的遍历
1.前序遍历先访问根节点,再访问左右孩子。function preOrder(node){ if(node == null) { return ; } console.log(node); preOrder(node.left); preOrder(node.right);}2.中序遍历先访问左孩子,再访问根节点,再访问右孩子function inOrder(node){ if(node == null) { return ; }原创 2021-10-14 19:21:39 · 52 阅读 · 0 评论 -
leetcode 06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000解题思路:1. 链表需要顺序读取,从头到尾读取链表,存入数组,最后将数组倒序即可。时间复杂度O(n),空间复杂度O(n)2.从尾到头与栈后进先出的思想一致,读取链表,存入堆栈,最后将结果弹出即可。3.递归法/** 1.反转数组 **/var reversePri...原创 2021-10-09 00:00:32 · 80 阅读 · 0 评论 -
leetcode- 03.数组中重复的数字
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000解题思路:1.只需要找出数组中任意一个重复数字,那么最先想到的就是将数组进行排序,然后进行遍历,返回第一个arr[i]==arr[i+1]的元素即可...原创 2021-10-08 23:14:25 · 80 阅读 · 0 评论 -
LeetCode刷题记录(JavaScript)——动态规划
70. 爬楼梯(easy)——03/28假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. ...原创 2020-03-28 14:57:39 · 77 阅读 · 0 评论 -
LeetCode刷题记录(JavaScript)——二叉树
目录104. 二叉树的最大深度(easy)——03/22104. 二叉树的最大深度(easy)——03/22给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \...原创 2020-03-22 16:56:18 · 283 阅读 · 1 评论 -
LeetCode刷题记录(JavaScript)——数组
53. 最大子序和(easy)—03/12给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。解题思路:动态规划思想,动态规划方程:dp[i] = Max(dp[i-1]+A[i], A[i...原创 2020-03-12 23:06:54 · 326 阅读 · 0 评论 -
LeetCode刷题记录(JavaScript)——链表
21. 合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:可以新建一个head来保存头部,用p指针来往后指,从head.next开始接收数字,进入循环,最终返回head...原创 2020-03-07 13:31:47 · 184 阅读 · 0 评论 -
LeetCode刷题记录(JavaScript)——字符串
13. 罗马数字转整数罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 ...原创 2020-03-07 10:21:58 · 242 阅读 · 0 评论