java--数据结构--链表

    xiaoxiao2026-05-26  3

    1.查找链表中点,使用两个指针

    ListNode searchMidNode(ListNode head) { ListNode slow = head, fast = head; while(fast && fast.next) { slow = slow.next; fast = fast.next.next; } if(fast) { return slow; } if(fast.next) { return slow.next; } }

    2.查找链表是否有环,使用两个指针

    ListNode isCircle(ListNode head) { ListNode slow = head, fast = head; while(fast && fast.next) { slow = slow.next; fast = fast.next.next; } if(slow == fast) { return true; } return false; }

    3.有环链表的长度

    void circleLen(LinkNode head) { ListNode slow = head, fast = head; int len = 1; while(fast && fast.next) { slow = slow.next; fast = fast.next.next; len++; if(slow == fast) { break; } } }
    转载请注明原文地址: https://ju.6miu.com/read-1310097.html
    最新回复(0)