Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given 1->2->3->4, you should return the list as 2->1->4->3.
Your algorithm should use only constant space. Y...
分类:
其他好文 时间:
2014-07-12 20:39:17
阅读次数:
225
基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。 实现代码:[cpp]view plaincopyprint?typedefintDataType;//类型定义typedefstructnode{//单链表定义DataT...
分类:
其他好文 时间:
2014-07-07 21:19:21
阅读次数:
241
对于单链表的逆置有两种方法可以实现:(1)利用辅助指针 基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。 实现代码: 1 typedef int DataType; //类型定义 2 typedef struct ...
分类:
其他好文 时间:
2014-07-07 10:48:40
阅读次数:
210
可以练习下链表的逆置。
def PrintListReversingly(head):
if head == None:
return
if head:
PrintListReversingly(head.next)
print head.val
def reverse(head):
if head == None or head.next == None:
return...
分类:
其他好文 时间:
2014-07-06 09:29:57
阅读次数:
214
毫无疑问,程序员是善于思考问题的一族。一个程序的编写都是通过:思考、设计、编写、调试、测试以及运行这些基本的阶段。
但大部分程序员都有一个问题就是不太愿意测试自己的代码。他们草草的调式完成以后就认为工作结束,测试那是测试人员的工作。
按照理论上,如果代码存在问题,那么测试人员和最终的用户肯定可以发现这些 BUG ,而等待哪个时候再返回来查找问题到底错在什么地方确实代价不小,其代...
分类:
其他好文 时间:
2014-06-30 00:06:35
阅读次数:
151
1.
迭代程序的设计:基础元素迭代程序的实现,通常包括下了以下五个部分:计数器(Count):用于标记循环的次数初始化(Initiate):在循环外部进行初始化正确的结束测试(Right
End Test):在什么情况下结束通常与计数器(Count)密切相关循环部分的代码块:该部分代码块通常包含了对...
分类:
其他好文 时间:
2014-06-29 13:49:03
阅读次数:
318
交换排序:两两比较待排序记录的关键码,若是逆置,则交换,直到无逆置。其中最简单的交换排序是:冒泡排序。
冒泡排序(Bubble Sort,也叫起泡排序):不断地比较相邻的记录,若是不满足排序要求,则交换。
交换时,可从前向后,也可从后向前。看一个从前向后的排序过程:...
分类:
其他好文 时间:
2014-06-15 08:59:39
阅读次数:
280
问题:
给定一个链表的头指针,以及一个整数k,要求将链表按每k个为一组,组内进行链表逆置。少于k个的部分不做处理。
分析:
个人觉得问题的重点是熟悉链表的就地逆置操作,就是头插法。其他的考察点如果还有的话,就的细心程度。
实现:
void reverseList(ListNode *&pre, ListNode *head)
{
ListNode *tail = NULL;
w...
分类:
其他好文 时间:
2014-06-10 17:25:45
阅读次数:
305
链表的常见操作 链表是数据结构的重要内容,在计算机程序中应用广泛,同时也是各公司笔试题目的重点。
以下简单实现了链表的一些操作,包括创建、增加节点、删除节点、单链表逆置、合并有序链表等。一、链表创建 链表主要有三种形式,包括单链表、双链表和循环链表。
单链表每个节点只包含一个后驱指针,双链表...
分类:
其他好文 时间:
2014-05-30 01:30:55
阅读次数:
298
单链表及其ADT
void deleteList(); //删除整个链表
List makeEmpty(List l);//清空链表,只留头结点
int isEmpty(List l);//判断是否为空
int isLast(List l, Position p);//判断是否是最后一个结点
List createList();//创建一个链表
void insert(List l,...
分类:
其他好文 时间:
2014-05-25 07:18:35
阅读次数:
222