![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
wsj_
勤奋者,进步乎。
展开
-
合并两个有序链表、合并k个排序链表
前面写过合并两个数组,然后采用归并排序对某个数组进行了排序。 今天,合并两个链表也采取一样的思路,一直比较到末尾。k个?无非就是递归喽。 直接边思考边写吧。我们由简入难。先来合并两个有序链表 #include<iostream> //首先定义一个链表 struct ListNode{ int data; ListNode* next; }; ListNode* mergeTwo...原创 2020-04-23 22:30:28 · 234 阅读 · 0 评论 -
环形链表(找到环的入口)
之前已经判断一环形链表是否有环。顺其自然,我们需要找到这个入口在哪。 #include<iostream> struct ListNode{ int data; ListNode* next; } static ListNode* pQuick, pSlowy; //static功能之一:对其他文件隐藏该变量或函数 static ListNode* pSlowy; boo...原创 2020-04-23 21:30:49 · 487 阅读 · 0 评论 -
环形链表(判断一单链表是否有环)
判断是否有环,最长用的办法是利用快慢指针。 慢指针:一步只走一个节点。 快指针:一步走多个节点。 在一个有环的链表中,如果有环存在,那么快慢指针各自不停的走,迟早会指向同一个节点。 #include<iostream> //构建链表 struct ListNode{ int data; ListNode* next; } bool isHasCycle(ListNode* ph...原创 2020-04-23 20:52:40 · 266 阅读 · 0 评论 -
最简单的链表逆序
单链表的逆序也是我当年校招的时候经常别问到的一个数据结构。 今天写个简简单单好理解的逆序。 #include<iostream> //先构建一个单链表 struct ListNode{ int data; //链表的data区 ListNode* next; //链表的指针区 }LNode; //LNode相当于是一个别名(我记得是这样的,不保证哦) ListNode*...原创 2020-04-22 21:25:38 · 237 阅读 · 0 评论