摘要: 判断两个无环单链表是否交叉 题目描述: 如上图,这两个链表相交于结点5,要求判断两个链表是否相交,如果相交,找出相交处的结点。 解题思路: 方法一:Hash 法 如上图所示,如果两个链表相交,那么它们一定会有公共的结点,由于结点的地址或引用可以作为结点的唯一标识,因此,可以通过判断两个链表中的结点是 阅读全文
posted @ 2019-09-07 23:51 上进的小苗同学 阅读(464) 评论(0) 推荐(0)
摘要: 只给单链表中要某节点处的指针的情况下删除该节点 题目描述: 假设给定链表 1 2 3 4 5 6 7 中指向第5个元素的指针,要求把结点5删掉,删除后链表变为1 2 3 >4 6 7 思路分析: 1.如果这个结点是链表的最后一个结点,那么无法删除这个结点。 2.如果这个结点不是链表的最后一个结点,可 阅读全文
posted @ 2019-09-07 20:35 上进的小苗同学 阅读(343) 评论(0) 推荐(0)
摘要: 合并两个有序链表 解题思想: 分别用l1,l2遍历两个链表,如果l1.data小于l2.data,则将l1归入合并后的链表,l1=l1.next;反之将l2归入合并后的链表,l2=l2.next;如果其中一个链表遍历结束,则将没遍历完的另一链表的剩下部分归入合并后的链表 代码实现: coding:u 阅读全文
posted @ 2019-09-07 14:52 上进的小苗同学 阅读(128) 评论(0) 推荐(0)
摘要: 单链表以k个节点为一组进行翻转 解题思路: 首先把前K个结点看成一个子链表,采用前面介绍的方法进行翻转,把翻转后的子链表链接到头结点后面,然后把接下来的K个结点看成另外一个单独的链表进行翻转,把翻转后的子链表链接到上一个已经完成翻转子链表的后面 图示: 代码实现 coding:utf 8 """ @ 阅读全文
posted @ 2019-09-07 14:21 上进的小苗同学 阅读(286) 评论(0) 推荐(0)
摘要: 交换链表中的相邻节点 题目描述: 把链表相邻元素翻转,例如给定链表为1——>2一>3一 4一>5—— 6一>7,则翻转后的链表变为2一>1一>4一>3一>6一>5一>7 解题思路: 就地逆序法: 通过调整结点指针域的指向来直接调换相邻的两个结点。如果单链表恰好有偶数个结点,那么只需要将奇偶结点对调即 阅读全文
posted @ 2019-09-07 11:32 上进的小苗同学 阅读(922) 评论(0) 推荐(0)