随笔分类 -  数据结构---链表

摘要:题目描述 输入一个链表,反转链表后,输出链表的所有元素。 解题思路 一.就地反转-这里后期你要思考一下另一种写法(wei) class Solution { public: ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL) return 阅读全文
posted @ 2018-05-16 14:49 Curo 阅读(161) 评论(0) 推荐(0)
摘要:题目描述 输入一个链表,输出该链表中倒数第k个结点。 解题思路 pOne指针先跑,并且记录节点数,当pOne指针跑了k-1个节点后,pTwo指针开始跑, 当pOne指针跑到最后时,pTwo所指指针就是倒数第k个节点 输入一个链表,输出该链表中倒数第k个结点。 解题思路 pOne指针先跑,并且记录节点 阅读全文
posted @ 2018-05-16 13:57 Curo 阅读(134) 评论(0) 推荐(0)
摘要:1.简述链表和数组的区别 1.(数组访问数据容易,插入和删除难)数组是将元素在内存中连续存放,可以通过下标迅速访问数组中任何元素。但如果要在数组中增加或删除一个元素,需要移动大量元素。 (链表访问数据要遍历,插入删除易)链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。(增加和 阅读全文
posted @ 2018-03-20 19:15 Curo 阅读(265) 评论(0) 推荐(0)
摘要:题目:如何判断单链表里面是否有环? 方法一:快慢指针法 设两个工作指针,一个快一个慢,如果有环的话,它们会必然在某点相遇。 为什么当单链表存在环时,p和q一定会相遇呢? 假定单链表的长度为n,并且该单链表是环状的,那么第i次迭代时,p指向元素i mod n,q指向2i mod n。因此当i≡2i(m 阅读全文
posted @ 2018-01-22 19:57 Curo 阅读(1697) 评论(0) 推荐(0)
摘要:概念部分转载于http://blog.csdn.net/zwhlxl/article/details/45745825 问题描述 判断两个单链表是否相交,如果相交,给出相交的第一个点 一.两个链表都不存在环相交的 链表示意图如下所示。 解题思路 方法一 两个没有环的链表如果是相交于某一结点,如上图所 阅读全文
posted @ 2018-01-22 18:24 Curo 阅读(852) 评论(0) 推荐(0)
摘要:一.单选 1.线性表采用链表存储时 ,结点和结点内部的存储空间可以是不连续的。 错。线性表采用链表存储时,不要求结点所占空间连续,但一个结点内部空间必须是连续的。 而“结点和结点内部”表示的是交集关系。 2.下面结构类型可以用来构造链表的是:B A.struct aa{ int a ; int *b 阅读全文
posted @ 2017-11-19 23:15 Curo 阅读(1553) 评论(0) 推荐(0)