双指针
文章平均质量分 77
Bryan要加油
这个作者很懒,什么都没留下…
展开
-
3Sum
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:Elements in a triplet (a原创 2015-06-05 10:03:56 · 335 阅读 · 0 评论 -
26. Remove Duplicates from Sorted Array
Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra space for another array, you must do this in place with c原创 2014-02-21 10:34:24 · 753 阅读 · 0 评论 -
88. Merge Sorted Array
Given two sorted integer arrays A and B, merge B into A as one sorted array.Note:You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from原创 2014-03-01 08:45:23 · 560 阅读 · 0 评论 -
228.Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges.For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"].注意int与string的转换,以及溢出的问题class Solution {p原创 2015-06-26 16:46:26 · 476 阅读 · 0 评论 -
80.Remove Duplicates from Sorted Array II
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?For example,Given sorted array nums = [1,1,1,2,2,3],Your function should return length = 5, with the first fi原创 2015-06-29 15:37:26 · 602 阅读 · 0 评论 -
75. Sort Colors
Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.Here, we will use the integers原创 2014-03-03 15:32:23 · 648 阅读 · 0 评论 -
11. Container With Most Water
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Fin原创 2015-06-05 09:21:44 · 440 阅读 · 0 评论 -
209.Minimum Size Subarray Sum
Given an array of n positive integers and a positive integer s, find the minimal length of a subarray of which the sum ≥ s. If there isn't one, return 0 instead.For example, given the array [2,3原创 2015-06-30 11:47:56 · 611 阅读 · 0 评论 -
16. 3Sum Closest
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exact原创 2015-06-05 10:14:18 · 483 阅读 · 0 评论 -
345. Reverse Vowels of a String
ProblemWrite a function that takes a string as input and reverse only the vowels of a string.Solutionclass Solution {public: bool isVowel(char c) { return (c == 'a' || c =='e' || c ==原创 2016-05-04 16:23:07 · 563 阅读 · 0 评论 -
28. Implement strStr()
Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.Update (2014-11-02):The signature of the function had been updated原创 2015-06-06 10:29:44 · 726 阅读 · 0 评论 -
125. Valid Palindrome
ProblemGiven a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. For example, “A man, a plan, a canal: Panama” is a palindrome. “race a car” is not原创 2016-05-05 09:50:16 · 340 阅读 · 0 评论 -
18. 4Sum
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.Note:Element原创 2015-05-07 09:24:53 · 401 阅读 · 0 评论 -
259. 3Sum Smaller
ProblemGiven an array of n integers nums and a target, find the number of index triplets i, j, k with 0 <= i < j < k < n that satisfy the condition nums[i] + nums[j] + nums[k] < target.For example, giv原创 2016-09-01 21:34:47 · 601 阅读 · 0 评论 -
27. Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.The order of elements can be changed. It doesn't matter what you leave beyond the new length.原创 2015-06-06 10:18:32 · 580 阅读 · 0 评论 -
283. Move Zeroes
双指针,一个指针对每个元素遍历,如果是0,则寻找该元素之后第一个非0元素并将二者交换;如果不是0,则直接跳过。class Solution {public: void moveZeroes(vector& nums) { for(int i = 0;i<nums.size();i++) { if(nums[i] == 0)原创 2015-11-27 22:22:10 · 556 阅读 · 0 评论 -
160. Intersection of Two Linked Lists
Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists: begin to intersect at node c1.Notes: •If the two linked lists原创 2016-03-26 22:58:58 · 362 阅读 · 0 评论 -
Rotate List
Given a list, rotate the list to the right by k places, where k is non-negative.For example:Given 1->2->3->4->5->NULL and k = 2,return 4->5->1->2->3->NULL.1/** * Definition fo原创 2015-06-26 09:15:49 · 340 阅读 · 0 评论 -
Substring with Concatenation of All Words
You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that is a concatenation of each word in wordsexactly once and w原创 2015-06-06 11:44:19 · 458 阅读 · 0 评论 -
Sort Colors
Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.Here, we will use the integers原创 2015-06-27 14:21:05 · 485 阅读 · 0 评论 -
141. Linked List Cycle & 142. Linked List Cycle II
步骤1:判定是否有环慢指针sp,每次前进一步快指针fp,每次前进两步如果慢指针与快指针在前进n次之后指向相同的位置,则存在环;否则,如果fp->next为NULL或fp->next->next为NULL,则不存在环。步骤2:如果存在环,返回环的入口结点 设链表的头结点为X,还的入口结点为Y,快慢指针第一次相遇的点为Z。XY之间的长度为a,YZ之间的长度为b,ZY之间的长度为c。 第原创 2016-02-17 10:55:50 · 377 阅读 · 0 评论 -
和为S的连续正数序列
题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述:输出所有和为S的连续正数序列。序列内按原创 2016-02-18 20:51:34 · 929 阅读 · 0 评论 -
替换空格
题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解答 首先原来的一个空格字符,要变成’%’,’2’,’0’三个字符,字符串会变长。如果是在原来的字符串上做替换,那么有可能覆盖该字符串后面的内存。如果是创建新的字符串并在其上进行替换,我们可以分配足够多的内存。 因为存在两种方案,原创 2016-02-24 20:55:33 · 288 阅读 · 0 评论 -
链表中倒数第k个结点
题目描述输入一个链表,输出该链表中倒数第k个结点。解答为了实现只遍历链表一遍,就能找到倒数第k个结点,我们可以定义两个指针。第一个链表从链表头开始走k步之后,第二个链表从链表头开始走。当第一个指针到达链表尾部的NULL时,第二个指针所指的就是我们要找的结点。ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { i原创 2016-02-24 22:16:57 · 350 阅读 · 0 评论 -
Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the原创 2014-02-23 17:18:45 · 624 阅读 · 0 评论 -
两个链表的第一个公共结点
题目描述输入两个链表,找出它们的第一个公共结点。解答暴力法 在第一个链表上顺序遍历每个结点,每遍历到一个结点时,在第二个链表上遍历每个结点。如果在第二个链表上有一个结点和第一个链表上当前遍历的结点一样,说明两个链表在这个结点上重合。如果第一个链表的长度为m,第二个链表的长度为n,那么该算法的时间复杂度为O(m*n)。使用两个栈 因为该题中两个链表都是单链表,所以如果二者有公共结点,那么从该结原创 2016-02-25 09:20:25 · 563 阅读 · 0 评论 -
234. Palindrome Linked List&回文链表
题目描述请编写一个函数,检查链表是否为回文。 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。 测试样例: {1,2,3,2,1} 返回:true {1,2,3,2,3} 返回:false解答翻转并比较 反转整个链表,然后比较反转链表和原始链表。若二者相同,则该链表为回文。 注意链表反转算法的使用,不能修改原始链表。/*struct List原创 2016-03-01 21:24:04 · 609 阅读 · 0 评论 -
143. Reorder List
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For example,Given {1,2,3,4}, reorder it to原创 2015-06-03 21:23:55 · 453 阅读 · 0 评论 -
61. Rotate List
Given a list, rotate the list to the right by k places, where k is non-negative.For example:Given 1->2->3->4->5->NULL and k = 2,return 4->5->1->2->3->NULL./** * Definition for s原创 2014-03-10 21:16:59 · 475 阅读 · 0 评论 -
3. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. Fo原创 2015-06-03 23:53:57 · 733 阅读 · 0 评论