算法
秋霜凋枫_
玉露凋伤枫叶林
展开
-
验证链表是否有环
思路声明一个快指针、一个慢指针,快指针一次走两步,慢指针一次走一步。如果快慢两个指针相遇,说明链表有环。至于为什么快慢两个指针相遇就说明链表中有环,这个牵扯到数学证明。这里就不论证了,我们直接用结论。代码实现初始化的时候,快指针指向 head.next,慢指针指向head。public static boolean checkCircle(Node head) { if(head...原创 2020-03-18 11:31:54 · 140 阅读 · 0 评论 -
反转单链表
给一个单向链表,如下图所示,我们要做的是将它的指针反向调转,头做尾,尾做头。我们需要声明三个指针:pre、cur、next。初始化时,pre指针指向NULL, cur 指针指向头节点,next 指向头节点的下一个节点。具体反转的时候,首先cur指向NULL(cur.next = pre),然后pre 指向cur 的位置(pre = cur),cur 指向next ,即cur = next,...原创 2020-03-17 18:59:49 · 147 阅读 · 0 评论