例如 链表1->2->3->3->4->4->5 处理后为 1->2->5 public ListNode deleteDuplication(ListNode pHead) { ListNode cur = this.head; ListNode newHead = new ...
思路: 定义fast 和 slow ,先让fast走k-1步,然后再让slow和fast同时走1步,最后得到的slow就是所求的值
思路: 定义一个fast和一个slow,fast每走两步,slow就走一步, 最终返回的slow就是中间的值(链表的节点个数为奇数偶数都适用)
ArrayList和LinkedList有什么区别:1.ArrayList底层结构是顺序表(基于数组); LinkList是链表;2.ArrayList数据存放在内存空间上; LinkList不是存放在连续的内存空间上;3.ArrayList能够高效的进行 “随机访问 ” ,按照下...
2.找到链表的中间值 fast一次走两步,slow一次走一步,这样,当fast走到末尾的时候,slow刚好可以走到链表中间