算法
牵着小熊猫
这个作者很懒,什么都没留下…
展开
-
LeetCode刷题笔记 19.删除链表的倒数第N个节点
19. 删除链表的倒数第N个节点题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路分析:先考虑最直观的方法,链表的长...原创 2019-04-21 21:02:30 · 221 阅读 · 0 评论 -
LeetCode刷题笔记 438. 找到字符串中所有字母异位词
438. 找到字符串中所有字母异位词给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。示例 1:输入:s: “cbaebabacd” p: “abc”输出:[0, 6]解...原创 2019-04-22 13:48:23 · 400 阅读 · 0 评论 -
LeetCode刷题笔记 5.最长回文子串
最长回文子串题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”思路分析:解法一:暴力解法暴力解法是最好想的一个方法,先写一个判断一个字符串是否为回文字符串的方法,然后从原字符串中分割子串挨个进行判...原创 2019-05-20 17:20:39 · 216 阅读 · 0 评论 -
LeetCode刷题笔记 62.不同路径
62.不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: 3解释:...原创 2019-05-20 18:35:24 · 128 阅读 · 0 评论 -
LeetCode刷题笔记 63.不同路径 II
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[[0,0,0],[...原创 2019-05-22 16:10:09 · 116 阅读 · 0 评论 -
LeetCode刷题笔记 64.最小路径和
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。思路分析:更新矩阵中元素的值,使得每个网格中的值表示从左上角到该网格的路径数字最小和。对于矩阵首个元素值保持不变...原创 2019-05-22 17:41:34 · 241 阅读 · 0 评论 -
LeetCode刷题笔记 26. 删除排序数组中的重复项
题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 ...原创 2019-05-30 14:47:45 · 184 阅读 · 0 评论 -
LeetCode刷题笔记 19. 删除链表的倒数第N个节点
题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路分析:解法一:两趟扫描。先一趟扫描找出链表的长度,然后再扫描一遍找...原创 2019-05-30 16:52:25 · 195 阅读 · 0 评论 -
LeetCode刷题笔记 206. 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?思路分析:解法一:用栈存储import java.util.Stack;class Solution { public ListNode ...原创 2019-05-30 18:32:44 · 140 阅读 · 0 评论