LeetCode
文章平均质量分 53
Android摸鱼工程师
希望我的经验能给你帮助,大家一起享受开发的乐趣!
展开
-
66 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。思路分...原创 2019-10-21 22:20:41 · 148 阅读 · 0 评论 -
58 最后一个单词的长度
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明: 一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: “Hello World”输出: 5思路分析:字符串遍历,从字符串末尾开始向前遍历,其中主要有两种情况;第一种情况,以字符串"Hello World"为例,从后向前遍历直到遍历到头或者遇到空格...原创 2019-10-21 20:35:29 · 140 阅读 · 0 评论 -
53 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。思路分析:这道题用动态规划的思路并不难解决,比较难的是后文提出...原创 2019-10-20 22:34:07 · 144 阅读 · 0 评论 -
35 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0...原创 2019-10-11 20:52:19 · 132 阅读 · 0 评论 -
13 罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如:罗马数字 2 写做...原创 2019-09-07 23:29:15 · 293 阅读 · 0 评论 -
19 删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的n保证是有效的解题思路:因为是链表不能像数组一样直接定位,所有必须得遍历。整体思路是让前面的指针先移动n步,之后前后指针共同移动直到前面的...原创 2019-09-09 20:55:19 · 451 阅读 · 0 评论 -
21 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 :输入:1->2->4, 1->3->4输出:1->1->2->3->4->4方法一(直接遍历链表,并且拼接成新的链表返回):思路分析:这里很简单,就是遍历两个链表,比较对应节点的值大小,进行排列,然后赋值给新的链表,最后返回新的链表...原创 2019-09-23 22:23:03 · 137 阅读 · 0 评论 -
24 两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 :给定 1->2->3->4,你应该返回 2->1->4->3. 方法一(直接遍历链表,常规方法):思路分析:这里就是常规思路了,终止判断条件是当前节点和当前节点的后继是不是空,然后交换节点的值就行了。这里有一个预指针的...原创 2019-09-29 19:11:59 · 134 阅读 · 0 评论 -
27 移除元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均...原创 2019-09-30 10:55:43 · 165 阅读 · 0 评论 -
14 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 " "。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。注:所有输入只包含小写字母 a -z解题思路:当字符串数组长度为0时则公共前缀为空,直接返回...原创 2019-09-06 17:42:58 · 357 阅读 · 0 评论 -
9 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。这个...原创 2019-09-01 22:14:35 · 739 阅读 · 0 评论 -
16 最接近的三数之和
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).这个题为了减少时间复杂度,最优雅的解法是双...原创 2018-11-15 21:54:04 · 598 阅读 · 0 评论 -
LeetCode(4) 整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。分析:这个题情况...原创 2018-11-23 16:15:49 · 613 阅读 · 0 评论 -
LeetCode(3) 有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输...原创 2018-11-17 23:19:43 · 589 阅读 · 0 评论 -
LeetCode(5) 括号生成
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]一,官方解答 public static List<String> generateParenthesis(int n) { ...原创 2018-11-24 21:02:21 · 1199 阅读 · 0 评论 -
1 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]一,暴力法,直接两个for...原创 2019-08-25 16:23:38 · 599 阅读 · 0 评论 -
3 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke...原创 2019-08-28 21:44:38 · 576 阅读 · 0 评论 -
2 两数相加
给出两个非空的链表加粗样式用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 ...原创 2019-08-26 20:44:02 · 823 阅读 · 0 评论 -
7 整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。一,暴力法,直接两个for...原创 2019-09-01 13:10:05 · 634 阅读 · 0 评论 -
15 三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]一,暴力法,直接用三个指针...原创 2018-11-13 20:22:15 · 555 阅读 · 0 评论