leetcode
Lucky_-
这个作者很懒,什么都没留下…
展开
-
(递归解法、一次玩转递归)24.两两交换链表中的节点
24.两两交换链表中的节点题面:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围 [0, 100] 内0 <= Node.val <= 100递归思路递归三核心返回值调用单元终止条件运用到本题原创 2021-01-03 17:34:44 · 152 阅读 · 0 评论 -
(递归解法,leetcode)25.k个一组翻转链表
题面:给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->1->4->原创 2021-01-03 17:33:04 · 151 阅读 · 0 评论 -
(js最朴素解法,一看即懂) 242.有效的字母异位词
朴素的字符数组统计法解题核心:数组的记录方式charCodeAt()方法解题源码/* 思路:统计每个字符串中字母出现的次数 1. 数组记录次数(在第一个字符串中出现+1,第二个字符串中出现-1) 2. 遍历数组(有没有非0的数) 非0 -> false 0 -> true*/var isAnagram = function(s, t) { // 声明一个计数的数组 var num = new Array(); //原创 2020-12-30 17:06:00 · 189 阅读 · 0 评论 -
198.打家劫舍(dp 经典的动态规划入门题目)
leetcode每日一题:分析题目:解题思路: 有两种情况: 1. 偷第n个房子:那么相邻的房子就不能偷,即:偷第n-2个房子的最大金额+第n个房子的金额 dp[n] = dp[n - 2] + nums[n]; 2. 不偷第n个房子:即:偷第n-1个房子的最大金额 dp[n] = dp[n - 1]; 因此得到状态转移方程:dp[i] = max(dp[i - 1],dp[i - 2] + nums[i]); 运行成功原创 2020-05-30 09:55:38 · 318 阅读 · 1 评论