随笔分类 -  链表

摘要:题目: 一个环状链表(收尾相连),两个指针 head1 和 head2 从同一个节点出发,head1 每次 走一步,head2 每次走两步,请证明,两个指针第一次相遇于出发的节点 思路:假设两个节点相遇时,慢节点距离出发节点为c,环状链表中有n个节点。 慢节点速度v,经过t时间相遇后的路程为:c = 阅读全文
posted @ 2018-07-15 23:36 樱圃 阅读(170) 评论(0) 推荐(0)
摘要:题目:输入两个链表,找出他们的第一个公共节点。 阅读全文
posted @ 2018-07-02 22:57 樱圃 阅读(72) 评论(0) 推荐(0)
摘要:这种情况下要考虑:输入参数为 null、输入参数中只有一个节点、输入正常的链表是否可以正常返回。 阅读全文
posted @ 2018-06-20 10:40 樱圃 阅读(124) 评论(0) 推荐(0)
摘要:这道题的关键在于: 1、首先对输入参数进行比较:head=0||k=0都返回为空。 2、分为两个链表,其中一个指针先走k-1步,然乎再同时往后走,判断条件是:before.next!=null 3、返回后面的指针。 阅读全文
posted @ 2018-06-17 21:47 樱圃 阅读(104) 评论(0) 推荐(0)
摘要:算法的整体思路是: 先判断传入参数的情况:如果为空则返回null 判断尾节点是否为空:如果尾节点不为空,则将链表中要删除节点的后一个节点的值赋值给要删除的节点。 如果尾节点为空,则判断该链表是否只有一个节点,如果是只有一个节点,则返回null, 如果不是只有一个节点,则遍历到最末尾的节点,将其删除。 阅读全文
posted @ 2018-06-17 20:33 樱圃 阅读(148) 评论(0) 推荐(0)
摘要:看到这道题后,很多人的第一反应是从头到尾输出将会极比较简单,于是我们很自然地想到把链表中链接节点的指针翻转过来,改变链表的方向,然后就可以从头到尾输出了。但该方法会改变原来链表的结构,是否允许打印链表的时候修改链表的结构?这个取决于面试官的需求,因此在面试的时候我们要询问清楚面试官的要求。 阅读全文
posted @ 2018-06-14 00:55 樱圃 阅读(122) 评论(0) 推荐(0)
摘要:import java.util.Stack; public class Reverse{ class LNode{ int data; LNode next; public LNode(int data){ this.data=data; } } public static voi... 阅读全文
posted @ 2018-06-14 00:45 樱圃 阅读(127) 评论(0) 推荐(0)
摘要:import java.util.Stack; public class Reverse{ class LNode{ int data; LNode next; public LNode(int data){ this.data=data; } } public static voi... 阅读全文
posted @ 2018-06-14 00:44 樱圃 阅读(143) 评论(0) 推荐(0)
摘要:题目描述 一个链表中包含环,请找出该链表的环的入口结点。 思路: 具体思路可以参考网址:https://www.cnblogs.com/zhuzhenwei918/p/7491892.html 假设满指针速度v,经过t时间后,两个指针相遇,此时:w+y=v*t; 此时快指针速度为2*v,经过t时间后 阅读全文
posted @ 2016-09-02 15:10 樱圃 阅读(127) 评论(0) 推荐(0)