码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
手摇算法
如何实现字符串倒置呢,直接用头尾两个指针从两边向中间扫,并且不断交换两个指针的内容, void reverse(int a[], int n){ if(n < 2) return; for(int i = 0; i <= n;) swap(a[i++], a[--n]); }  然后,如果要实现字符串反转呢,比如,有字符串abcdefg,假设要将前n个字符与剩下的字符串交换位置...
分类:编程语言   时间:2015-03-17 00:54:17    阅读次数:202
Valid Palindrome
判断一个字符串是否是对称的 跳过所有非数字和字母,字母不分大小写 知道函数isalnum和tolower或者toupper就可以做了,两个指针一个指向头,一个指向尾,朝中间靠拢比较 空串是对称的 class Solution {public: bool isPalindrome(string s) ...
分类:其他好文   时间:2015-03-16 16:13:52    阅读次数:150
Remove Duplicates from Sorted List
删除一个有序单链表的重复节点 For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return 1->2->3. 思路:两个指针,一前一后,前面指针的值与后面指针的值相等就往前,直到不同,后指针的下一个节点指向前指针,然后继续。注意...
分类:其他好文   时间:2015-03-16 12:34:58    阅读次数:132
Linked List Cycle
Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?思路:1.两个指针,一个走1步,一个走2步,如果相遇则有环注意: 在使用p->nex...
分类:其他好文   时间:2015-03-15 19:38:56    阅读次数:126
单链表的常用操作(二)
接上一篇单链表的基本操作,我又整理了一些链表常考的题目,并且不断更新中。。。 1.查找链表中倒数第k个节点以及删除倒数第k个节点//给两个指针p和q,让其中一个指针p领先q指针k步, //然后再同时移动p和q指针,当领先的指针p先到达链表尾部时,后面的指针q所指向的节点恰好为倒数第k个节点。 Node* GetKthNode(int k) { Node *p=head; Node...
分类:其他好文   时间:2015-03-15 18:27:29    阅读次数:128
Merge Two Sorted Lists
两个指针的做法,但比起2个数组有序的数组的话,链表做更容易,因为当一个链表遍历结束后,tail指针并不需要遍历另一个链表,只要直接指向它就行/** * Definition for singly-linked list. * struct ListNode { * int val; * ...
分类:其他好文   时间:2015-03-13 22:04:13    阅读次数:147
Merge Sorted Array
//两个指针从后往前扫一遍就行void merge(int A[], int m, int B[], int n) { int i = m-1,j = n - 1 ,k = m+n-1; while(i>=0&&j>=0){ if(A[i]>B[j]) A[k--] = A...
分类:其他好文   时间:2015-03-11 14:37:53    阅读次数:115
单链表如何判断是否存在环
给定一个单链表,只给出头指针h: 1、如何判断是否存在环? 2、如何知道环的长度? 3、如何找出环的连接点在哪里? 4、带环链表的长度是多少? 解法: 1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。 2、对于问题2,记录下问题1的碰撞点p,slow、fast...
分类:其他好文   时间:2015-03-10 00:15:52    阅读次数:117
二叉树的链式实现
二叉树的定义见:二叉树实现:公式化描述二叉树最常用的描述方法是用链表或指针。每个元素都用一个有两个指针域的节点表示,这两个域为 L e f t C h i l d和R i g h t C h i d。除此两个指针域外,每个节点还有一个 d a t a域。二叉树的边可用一个从父节点到子节点的指针来描述...
分类:其他好文   时间:2015-03-08 16:55:00    阅读次数:134
Intersection of Two Linked Lists
存在两个单向链表,如果两者在某个节点相交合并,则返回交点,不相交则返回null。 思路:如果两个链表长度相等,则两个指针依次前进,到结尾之前如果遇到val值相等,则返回该节点。如果不相等,则长的那个链表先走若干步,使得剩下的步数与短的链表的步数相同。 注意点 空指针 由于是单链表,需要保存链表头 c...
分类:其他好文   时间:2015-03-08 11:35:39    阅读次数:119
1059条   上一页 1 ... 86 87 88 89 90 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!