题目:输入一个单向链表,输出该链表中倒数第k个结点。最后一个结点为倒数第一个结点。思路:1.首先遍历链表的长度获得链表的length,则它的倒数第k个结点就是正数length-k+1个结点,但这需要遍历链表两次2.使用两个指针可以实现遍历一次,first指针指向头结点,second指针指向first...
分类:
其他好文 时间:
2015-05-25 16:32:02
阅读次数:
99
3Sum ClosestTotal Accepted:38536Total Submissions:143223My SubmissionsQuestionSolutionGiven an arraySofnintegers, find three integers inSsuch that the...
分类:
其他好文 时间:
2015-05-24 17:04:27
阅读次数:
79
Ititle:Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?思路:使用两个指针slow,fast。两个指针都从表头开始走,slow...
分类:
其他好文 时间:
2015-05-24 11:25:59
阅读次数:
148
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分思路:声明两个指针,一个指向该数组的头,另一个指向该数组的尾,将头指针指向的第一个偶数和尾指针指向的第一个奇数交换即可,直到头指针大于尾指针跳出循环。代码如下:void t...
分类:
编程语言 时间:
2015-05-22 16:26:40
阅读次数:
101
链表由无数模块(struct)穿成一串组成,每个模块都有两个指针(双向链表),一个指向上一个模块,一个指向下一个模块,还有一些其他变量用来存储自己想要存储的内容。 嗯,话说作者前几天还想要写一个无限精确度的计算器呢,就想到用链表实现。 //这里每一位=一个模块 struct BIT { BIT* p...
分类:
其他好文 时间:
2015-05-17 02:03:52
阅读次数:
117
总结链队列
什么是链队?
队列的链式存储结构称为链队列。链队也有两个指针,队头指针和队尾指针,这样队头删除和队尾插入操作就会很方便,链式队列一般像单链表一样,有一个头结点。
图示:
具体实现:
#include
using namespace std;
template
struct Node {
T data;
struct Node *nex...
分类:
编程语言 时间:
2015-05-16 12:02:55
阅读次数:
171
Decription: 输入一个字符串,判断其是否为回文。 是则输出,“True”,否则输出“False” 题目最简单的做法就是,用两个指针指向字符串的首尾,然后逐个比对。 下面使用栈来判断: ????????将字符串全部...
分类:
其他好文 时间:
2015-05-16 01:43:38
阅读次数:
181
Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,10],[15,18],return [1,6],[8,10],[15,18].解题思路:用两个指针s...
分类:
编程语言 时间:
2015-05-15 19:43:59
阅读次数:
180
归并排序是将排好序的序列逐步合成一个大序列的算法,从字面上来分析,主要分为归并和排序。
算法描述:
1.申请一块空间,大小为两个排好序序列长度之和,用来存放归并后的序列。
2.设两个指针,分别指向两个已经排好序的序列的起始地址。
3.比较两个指针指向位置的值大小,根据升序降序,选择较小值或者较大值存储在合并空间内,并将相应指针后移。
4.重复3操作,直至指针移至序列尾部。
5.将另一个...
分类:
编程语言 时间:
2015-05-15 01:21:21
阅读次数:
122
上图展示了浅拷贝:对于非基本数据类型,clone过后,结果两个指针指向了同一块儿内存空间,所以仅仅是浅拷贝,这样的话如果对一个对象进行操作,另一个内容也会变,这显然是不合理的,应该每个对象分别保存自己的数据。
所以我们要进行深拷贝!
浅拷贝和深拷贝例子:
import java.util.Vector;
public class Student implements Cloneable{
...
分类:
编程语言 时间:
2015-05-14 08:41:19
阅读次数:
221