1. 程式人生 > 實用技巧 >python寫入ppt內容

python寫入ppt內容

技術標籤:資料結構與演算法指標連結串列javaleetcode

題目描述

對於一個給定的連結串列,返回環的入口節點,如果沒有環,返回null。

解法

快慢指標法。
1.設定快指標fast和慢指標slow。
2.快指標一次移動兩步,慢指標一次移動一步,則快慢指標一定會在環中相遇。
3.一個指標從環中的相遇點出發,另一個指標從連結串列的頭部出發,則一定會在環的入口節點相遇。

程式碼實現

/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution { public ListNode detectCycle(ListNode head) { if(head == null){ return null; } ListNode fast = head, slow = head; boolean flag = false; while(fast != null && fast.next != null){ fast = fast.next.next;
slow = slow.next; if(fast == slow){ flag = true; break; } } if(!flag){ return null; } //一個指標從相交點出發,另一個指標從頭結點開始 //會在環的入口節點相遇 fast = head; while(true){ if(fast ==
slow){ break; } fast = fast.next; slow = slow.next; } return fast; } }