↓快轉到主要內容

Two-Pointers

LeetCode 925: Long Pressed Name
·1 分鐘
LeetCode Easy Two-Pointers String
LeetCode 925 解題筆記:兩個指標分別走 name 和 typed,typed 的字元要嘛對到 name 的下一個字,要嘛是前一個字的長按
LeetCode 922: Sort Array By Parity II
·1 分鐘
LeetCode Easy Array Two-Pointers Sorting
LeetCode 922 解題筆記:偶數位置的指標 i、奇數位置的指標 j,各自跳兩格;i 放錯(奇數)時讓 j 找到放錯的偶數再交換
LeetCode 917: Reverse Only Letters
·1 分鐘
LeetCode Easy Two-Pointers String
LeetCode 917 解題筆記:左右指針各自跳過非字母,兩邊都是字母時交換;字串要先轉成 list 才能改
LeetCode 905: Sort Array By Parity
·1 分鐘
LeetCode Easy Array Two-Pointers Sorting
LeetCode 905 解題筆記:寫入指標把偶數交換到前面,跟 move zeroes 一樣
LeetCode 876: Middle of the Linked List
·1 分鐘
LeetCode Easy Linked-List Two-Pointers
LeetCode 876 解題筆記:快指針一次兩步、慢指針一次一步,快的走到底時慢的在中間;偶數長度時停在偏右的中點
LeetCode 844: Backspace String Compare
·1 分鐘
LeetCode Easy Two-Pointers String Stack Simulation
LeetCode 844 解題筆記:用 stack 模擬退格;O(1) 空間的話從尾巴往前,遇到 # 就記下要跳過幾個字元
LeetCode 832: Flipping an Image
·1 分鐘
LeetCode Easy Array Two-Pointers Bit-Manipulation Matrix
LeetCode 832 解題筆記:每一列先左右反轉再把 0、1 互換;可以用左右指針同時做
LeetCode 821: Shortest Distance to a Character
·1 分鐘
LeetCode Easy Array Two-Pointers String
LeetCode 821 解題筆記:左往右掃一次記錄到左邊最近的 c 的距離,右往左再掃一次取較小值
LeetCode 696: Count Binary Substrings
·1 分鐘
LeetCode Easy Two-Pointers String
LeetCode 696 解題筆記:把字串切成連續相同字元的段,相鄰兩段可以組出 min(前一段, 這一段) 個子字串
LeetCode 680: Valid Palindrome II
·1 分鐘
LeetCode Easy Two-Pointers String Greedy
LeetCode 680 解題筆記:左右指針遇到第一對不同時,只有兩種刪法:刪左邊或刪右邊,檢查剩下的是否為回文
LeetCode 653: Two Sum IV - Input is a BST
·1 分鐘
LeetCode Easy Hash-Table Two-Pointers Tree Depth-First-Search
LeetCode 653 解題筆記:遍歷時用集合記看過的值,k - val 已經在集合裡就找到了
LeetCode 557: Reverse Words in a String III
·1 分鐘
LeetCode Easy Two-Pointers String
LeetCode 557 解題筆記:用空白切開,每個單字各自反轉,再用空白接回去