自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 29两数相除(增倍除数法)

1、题目描述给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。2、示例输入: dividend = 10, divisor = 3输出: 3输入: dividend = 7, divisor = -3输出: -2说明:被除数和除数均为 ...

2019-12-17 14:45:35 277

原创 28实现strStr()(KMP算法、字符串匹配)

1、题目描述实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。2、示例输入: haystack = "hello", needle = "ll"输出: 2输入: haystack = "aaaaa", needle =...

2019-12-16 15:45:03 168

原创 27移除元素(删除元素法、双指针)

1、题目描述给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。2、示例给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 n...

2019-12-14 11:26:30 172

原创 26删除排序数组中的重复项(双指针、删除元素法)

1、题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。2、示例给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。...

2019-12-13 15:07:08 147

原创 25K个一组翻转链表(栈)

1、题目描述给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。2、示例给定这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回...

2019-12-12 15:33:49 185

原创 24两两交换链表中的节点(链表操作)

1、题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。2、示例给定 1->2->3->4, 你应该返回 2->1->4->3.3、题解temp指向翻转的两个节点的前一个节点,first=temp->next指向翻转的第一个节点,second=temp-&g...

2019-12-11 22:21:34 120 1

原创 23合并K个排序链表(归并+堆、逐一比较、分治法)

1、题目描述合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。2、示例输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->63、题解解法一:逐一比较比较k个节点(每个链表的首节点),获得最小值的节点,将选中的节点...

2019-12-10 20:59:21 216

原创 22括号生成(递归回溯法)

1、题目描述给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。2、示例给出n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]3、题解采用递归回溯法,生成的括号字符串永远满足两个条件:j<=i i<=n当i<n时可以...

2019-12-10 09:24:47 221

原创 21合并两个有序链表(有序链表合并)

1、问题描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。2、示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->43、题解当两个链表都非空时:如果节点l1<=节点,将节点l1加到l3后l1到下一节点l1=l1->next,否则将节点l2...

2019-12-09 16:46:41 135 1

原创 20有效的括号(栈)

1、题目描述给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。2、示例输入: "()[]{}"输出: true输入: "(]"输出: false输入: "{[]}"输出: true3、题解使用栈作...

2019-12-09 09:03:14 67

原创 19删除链表的倒数第N个节点(双指针法、快慢指针)

1、给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。2、示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。进阶:尝试使用一趟扫描实现3、题解解法一:双指针法指针p指向头节点,指针s在指针p后的第n个位...

2019-12-09 09:02:42 108

原创 18四数之和(双指针法)

1、题目描述给定一个包含n 个整数的数组nums和一个目标值target,判断nums中是否存在四个元素 a,b,c和 d,使得a + b + c + d的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。2、示例给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足...

2019-12-09 09:02:36 92

原创 17电话号码的字母组合(递归调用法)

1、题目描述给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。2、示例输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。3、题解...

2019-12-08 23:00:03 195

原创 16最接近的三数之和(双指针法)

1、题目描述给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。2、示例给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).3、题解采用双...

2019-12-06 18:56:07 135

原创 15三数之和(双指针法)

1、题目描述给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。2、示例给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]3...

2019-12-06 16:07:05 117

原创 14最长公共前缀(双指针法)

1、题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。2、示例输入: ["flower","flow","flight"]输出: "fl"输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。3、题解最长公共前缀就是字符串数组strs中所有字符串的前缀相同。采用双指针法,指针i...

2019-12-05 17:13:30 192

原创 13罗马数字转整数(哈希表)

1、题目描述罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两...

2019-12-05 16:11:39 282

原创 12整数转罗马数字(暴力法、贪心法)

1、题目描述罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两...

2019-12-05 15:22:56 167

原创 11盛最多水的容器(双指针法、暴力穷举法)

1、题目描述给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,...

2019-12-04 22:03:33 114

原创 10正则表达式匹配(递归回溯法、动态规划)

1、题目描述给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。2、示例输入:s ...

2019-12-04 22:02:54 259

原创 9回文数(取余整除)

1、题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。2、示例输入: 121输出: true输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。3、题解x反转后的数值reverse仍然等于x,则说明x是回文数,reverse = reverse *...

2019-12-01 17:02:28 572

原创 8字符串转换整数 (atoi)(字符转数字)

1、题目描述请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的...

2019-12-01 15:49:42 330

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除