算法与数据结构 - 链表常见操作
程序员文章站
2022-05-19 18:55:29
...
链表常见操作
最近在复习算法与数据结构, 一边写写博客啦.
快指针和慢指针
public class Main {
public static void main(String[] args) {
printFastAndSlow(ListNode.createLinkedList(new int[]{1, 2, 3, 4, 5, 6, 7}));
}
private static void printFastAndSlow(ListNode head) {
ListNode fast = head;
ListNode slow = head;
while (fast != null && fast.next != null && slow != null) {
fast = fast.next.next;
slow = slow.next;
}
System.out.println("fast: " + (fast == null? "null":fast.val));
System.out.println("slow: " + (slow == null? "null":fast.val));
}
}
特性一:
快指针比慢指针来得快, 如果出现了环路, 可以迅速判断出来. 见leetcode题目:
上一篇: 分手了想复合该怎么说的10句话
下一篇: 字符串加密的工具类