![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
Movle
this is the way
展开
-
[LeetCode-剑指Offer-面试题03]数组中重复的数字
一.题目:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3二.题解:1.第一种方法:遍历数组(1)解题思路:利用for循环遍历数组,将数组n...原创 2020-04-11 17:30:38 · 102 阅读 · 0 评论 -
[LeetCode-1]两数之和
一.题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9...原创 2020-04-09 17:09:21 · 58 阅读 · 0 评论 -
[LeetCode-面试01.01]判断字符是否唯一
一.题目描述:实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = "leetcode"输出: false 示例 2:输入: s = "abc"输出: true限制:0 <= len(s) <= 100如果不使用额外的数据结构,会很加分二.题解1.第一种方法(1)解题思路第一次遍历字符串所有字母;第二次遍历从第一次遍历...原创 2020-04-05 09:08:51 · 133 阅读 · 0 评论 -
[LeetCode-面试01.02]判定是否互为字符重排
一.题目描述给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = "abc", s2 = "bca"输出: true 示例 2:输入: s1 = "abc", s2 = "bad"输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <=...原创 2020-04-05 19:38:07 · 93 阅读 · 0 评论 -
[LeetCode-面试01.03]URL化
一.题目描述:URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例1:输入:"Mr John Smith ", 13输出:"Mr%20John%20Smith"示例2:输入:" ", 5输出:"%2...原创 2020-04-06 11:26:05 · 279 阅读 · 2 评论 -
[LeetCode-面试01.04]回文排列
一.题目:给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例1:输入:"tactcoa"输出:true(排列有"tacocat"、"atcocta",等等)二.题解:1.第一种题解:(1)解题思路:每个字符出现的次数为偶数, 或者有且只有一个字符出现的次数为奇数时...原创 2020-04-07 20:52:06 · 141 阅读 · 0 评论 -
[LeetCode-面试01.05]一次编辑
一.题目:字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例 1:输入: first = "pale"second = "ple"输出: True 示例 2:输入: first = "pales"second = "pal"输出: False二.题解1.第一种解法:(1)解题思...原创 2020-04-08 21:29:05 · 291 阅读 · 0 评论 -
[LeetCode-面试01.06]字符串压缩
一.题目:字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)示例1:输入:“aabcccccaaa”输出:“a2b1c5a3”示例2:输入:“abbccd”输出:“abbccd”解释:“abb...原创 2020-04-09 17:59:00 · 141 阅读 · 0 评论 -
[LeetCode-面试01.07]旋转矩阵
一.题目给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 matrix =[[ 5, 1, 9...原创 2020-04-09 22:02:50 · 84 阅读 · 0 评论 -
[LeetCode-面试01.08]零矩阵
一.题目:编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。示例 1:输入:[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2:输入:[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]二题...原创 2020-04-10 09:18:19 · 164 阅读 · 0 评论 -
[LeetCode-面试01.09]字符串轮转
一.题目字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。示例1:输入:s1 = “waterbottle”, s2 = “erbottlewat”输出:True示例2:输入:s1 = “aa”, “aba”输出:False二.题解1.第一种方法:(1)解题思路:首先判定...原创 2020-04-10 10:50:27 · 91 阅读 · 0 评论 -
[LeetCode-面试02.01]删除单链表中的重复元素
一.题目编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3]示例2:输入:[1, 1, 1, 1, 2]输出:[1, 2]提示:链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内二.题解1.第一种方法:双指针法(1)解题思路:HashSet中存入未曾出现的元素...原创 2020-04-11 12:05:27 · 133 阅读 · 0 评论 -
[LeetCode-面试02.02]返回倒数第 k 个节点
一.题目:实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4二.题解:1.第一种解法(1)解题思路:新建指针p,指向头结点再利用for循环,让p后移k位再利用while循环,同时使p向后移,head指针也向后移直到p指向null,即尾结点...原创 2020-04-11 10:45:16 · 169 阅读 · 0 评论 -
[LeetCode-面试02.03]删除中间结点
一.题目:实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点。示例:输入:单向链表a->b->c->d->e->f中的节点c结果:不返回任何数据,但该链表变为a->b->d->e->f二.题解:1.第一种解法:(1)解题思路:把节点c的val变为节点d(node.n...原创 2020-04-11 11:40:59 · 78 阅读 · 0 评论 -
[LeetCode-面试02.04]分割链表
一.题目:编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半部分”即可,其不需要被置于左右两部分之间。示例:输入: head = 3->5->8->5->10->2->1, x = 5输出: 3->1->2-...原创 2020-04-11 21:02:52 · 124 阅读 · 0 评论 -
[LeetCode-面试02.05]链表求和
一.题目:给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例:输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295输出:2 -> 1 -> 9,即912进阶:假设这些数位是正向存放的,请再做一遍。示例:输入:(...原创 2020-04-11 22:15:12 · 158 阅读 · 0 评论 -
[LeetCode-面试02.06]回文链表
一.题目:编写一个函数,检查输入的链表是否是回文的。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true二.题解:1.第一种解法:(1)解题思路:首先生成新的反转head的链表newHead然后判断两个链表是否相等即可若相等则是回文链表,否则不是(2)代码:/** * Definition...原创 2020-04-11 23:29:01 · 81 阅读 · 0 评论 -
[LeeCode-面试02.07]链表相交
一.题目:给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB =...原创 2020-04-12 08:17:23 · 97 阅读 · 0 评论 -
[LeetCode-面试03.01]三合一
一.题目:三合一。描述如何只用一个数组来实现三个栈。你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。stackNum表示栈下标,value表示压入的值。构造函数会传入一个stackSize参数,代表每个栈的大小。示例1:输入:[“TripleInOne”, “push”, “pus...原创 2020-04-14 07:37:51 · 265 阅读 · 1 评论