双指针
IDEA_TEYU_1112
其实吧压力也没那么大
展开
-
Leetcode刷题java之234. 回文链表
执行结果:通过显示详情执行用时 :2 ms, 在所有Java提交中击败了96.44%的用户内存消耗 :45.1 MB, 在所有Java提交中击败了42.09%的用户题目:请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用O(n)...原创 2019-08-24 09:19:39 · 252 阅读 · 0 评论 -
Leetcode刷题java之141. 环形链表
执行结果:通过显示详情执行用时 :1 ms, 在所有Java提交中击败了94.43%的用户内存消耗 :40.1 MB, 在所有Java提交中击败了41.65%的用户题目:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。来源:力扣(...原创 2019-08-22 19:29:18 · 410 阅读 · 1 评论 -
Leetcode刷题java之160. 相交链表
执行结果:通过显示详情执行用时 :2 ms, 在所有Java提交中击败了96.27%的用户内存消耗 :47.9 MB, 在所有Java提交中击败了7.57%的用户题目:编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。思路:可以发现a+c+b=b+c+a,也就是说,两个链表同时循环,到末尾之后就等于另一个链表的...原创 2019-08-22 18:58:51 · 334 阅读 · 0 评论 -
Leetcode刷题java之有序数组的平方
题目:给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]思路:因为是已经排好序的了,可以使用双指针,一个从左开始,一个从右开始,并用一个辅助数组来存储结果。代码:...原创 2019-06-26 17:55:26 · 306 阅读 · 0 评论 -
Leecode刷题java之按奇偶排序数组
题目:给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] <...原创 2019-06-26 18:47:26 · 294 阅读 · 0 评论 -
Leetcode刷题java之按奇偶排序数组 II
题目:给定一个非负整数数组A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当A[i] 为奇数时,i也是奇数;当A[i]为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。提示:2 &l...原创 2019-06-27 09:39:29 · 309 阅读 · 0 评论 -
Leetcode刷题java之27.移除元素
题目:给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums...原创 2019-07-03 21:57:22 · 202 阅读 · 0 评论 -
Leecode刷题java1089之复写0
执行结果:通过显示详情执行用时 :2 ms, 在所有Java提交中击败了92.60%的用户内存消耗 :40.5 MB, 在所有Java提交中击败了100.00%的用户题目:给你一个长度固定的整数数组arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。要求:请对输入的数组就地进行上述修改,不要...原创 2019-07-24 15:00:51 · 314 阅读 · 1 评论 -
Leetcode刷题java之167. 两数之和 II - 输入有序数组
执行结果:通过显示详情执行用时 :2 ms, 在所有Java提交中击败了80.48%的用户内存消耗 :38.4 MB, 在所有Java提交中击败了29.28%的用户题目:给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明:返回...原创 2019-07-25 14:57:02 · 233 阅读 · 0 评论 -
Leetcode刷题java之26. 删除排序数组中的重复项
执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了93.81% 的用户内存消耗 :44.4 MB, 在所有 Java 提交中击败了71.43%的用户题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。...原创 2019-07-30 09:20:30 · 244 阅读 · 0 评论 -
Leetcode刷题java之283. 移动零
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了94.33% 的用户内存消耗 :41 MB, 在所有 Java 提交中击败了46.20%的用户题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明: 必...原创 2019-07-30 14:22:44 · 298 阅读 · 0 评论 -
Leetcode刷题java之344. 反转字符串
执行结果:通过显示详情执行用时 :4 ms, 在所有 Java 提交中击败了83.58% 的用户内存消耗 :54.4 MB, 在所有 Java 提交中击败了63.07%的用户题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。...原创 2019-08-01 09:20:04 · 262 阅读 · 1 评论 -
Leetcode刷题java之917. 仅仅反转字母
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了98.91% 的用户内存消耗 :35 MB, 在所有 Java 提交中击败了89.84%的用户题目:给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。示例 1:输入:"ab-cd"输出:"dc-ba"示例 2:...原创 2019-08-02 10:44:04 · 317 阅读 · 0 评论 -
Leetcode刷题java之925. 长按键入
执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了58.72% 的用户内存消耗 :34.7 MB, 在所有 Java 提交中击败了87.43%的用户题目:你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(...原创 2019-08-10 19:21:12 · 234 阅读 · 0 评论 -
Leetcode刷题java之125. 验证回文串
执行结果:通过显示详情执行用时 :12 ms, 在所有 Java 提交中击败了72.34% 的用户内存消耗 :38.6 MB, 在所有 Java 提交中击败了71.16%的用户题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a ...原创 2019-08-11 09:09:02 · 286 阅读 · 1 评论 -
Leetcode刷题java之653. 两数之和 IV - 输入 BST
执行结果:通过显示详情执行用时 :10 ms, 在所有Java提交中击败了67.87%的用户内存消耗 :47.2 MB, 在所有Java提交中击败了73.05%的用户题目:给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。思路:既然是二叉搜索树的话,我们可以利用中序遍历将内容从小到大存储到一个lis...原创 2019-08-18 10:24:57 · 323 阅读 · 1 评论