Skip to main content

Two Pointers

概念

Two Pointers 是一種用於處理陣列和連結串列的常見演算法技巧。它通常用於搜索和比較元素,有兩個指標,一個位於左側,另一個位於右側,並根據特定條件將這兩個指標移動。

使用情境

  • 陣列搜索:在排序的陣列中查找特定元素或目標。
  • 連結串列處理:處理和修改連結串列的節點。
  • 雙指針法:有時稱為快慢指針法,用於查找回文串或環形結構。

類型

根據指標移動方式可分為:同方向移動、反方向移動

  1. 同方向移動 在這種情況下,左右指標向相同方向移動,通常是相對遞增或遞減。這種情況適用於搜尋排序數組或連結串列,或解決特定問題。

  2. 反方向移動 在這種情況下,左指標向右移動,而右指標向左移動,直到它們交會。這常用於反轉或對稱性問題,如查找回文串或處理字符串。

相關 LeetCode 題目