2018年10月1日

逆向遍历链表

摘要: 1 #include 2 #include 3 /* 4 从尾到头打印链表。 5 思路:利用递归调用逐级返回的特性,也就是栈的特性:先进后出,后进先出。 6 */ 7 typedef struct node 8 { 9 int data; 10 struct node * next; 11 }NODE; 12 NODE * createList(... 阅读全文

posted @ 2018-10-01 15:03 王朝马汉 阅读(873) 评论(0) 推荐(0) 编辑

求链表中间结点

摘要: 1 #include 2 #include 3 /* 4 查找链表中间的结点。 5 思路1:求长度:中间结点 = len/2 6 思路2:定义两个指针p1,p2指向头结点,p1走一步,p2走两步,当p2指向尾结点的下一个结点的时候,p1指向中间结点。 7 疑问:比如链表有5个结点,那么第3个是中间结点毫无疑问,但是如果6个结点,那么第3个算中间结点,还是第4个算中... 阅读全文

posted @ 2018-10-01 14:22 王朝马汉 阅读(343) 评论(0) 推荐(0) 编辑

二种方法查找链表倒数第K个结点

摘要: 1 #include 2 #include 3 /* 4 题目:查找链表中倒数第K个结点,K>0 5 思路1:考虑 链表为空,K大于链表长度 这三种情况 6 1.链表为空,即:不存在倒数第K个结点 7 2.k>len.即:不存在倒数第K个结点。 8 3.knext = NULL; 27 28 return he... 阅读全文

posted @ 2018-10-01 11:46 王朝马汉 阅读(428) 评论(0) 推荐(0) 编辑

导航