链表
技术--小白
这个作者很懒,什么都没留下…
展开
-
寻找链表环入口
在网上找到对于这个问题很好的解释,加上了一点自己的注释 1.如何判断链表有环? 同时用两个指针p1、p2指向表头,每次循环p1指向后继,p2指向后继的后继(即p2的速度是p1的两倍);循环的结束条件是,p2后继为空(无环)或p1==p2(有环)。 2.如何证明这两点一定会相遇呢? 如果是连续地移动,即像物体运动时位移和时间是连续的而不是这样离散的,当然会相遇;而二者都转载 2014-03-31 18:21:48 · 280 阅读 · 0 评论 -
数组与链表的归并排序实现
本文中采用的是自顶向下的归并排序算法。 数组的归并排序 private void merge(Comparable[] a, Comparable[] aux, int lo, int mid, int hi) { assert isSorted(a, lo, mid); assert isSorted(a, mid+1, hi); for (int k = lo; k <=原创 2014-04-02 15:16:58 · 245 阅读 · 0 评论 -
Binary Search Tree 转化为 (Circular) doubly LinkedList
参考: http://leetcode.com/2010/11/convert-binary-search-tree-bst-to.html原创 2014-04-27 10:13:26 · 229 阅读 · 0 评论