[Leetcode] 26. Remove Duplicates from Sorted Array (刪除有序數組中的重複項) 題解紀錄

[Leetcode] 26. Remove Duplicates from Sorted Array (刪除有序數組中的重複項) 題解紀錄

題目:

Remove Duplicates from Sorted Array (刪除有序數組中的重複項)

難度:

簡單

題目要求:

刪除"升序"排列數組中的重複項。

解題思路:

這題的思路很簡單,使用快慢指針進行前後比對就可以了。

1. 設置邊界條件:
比較重要的是邊界條件的設置,只要快指針的大小小於數組的總長度,就可以防止溢出的狀況。

2. 指針前進的思路:
主要是因為這題的數組為升序排列,所以我們可以不管前面一樣的數字,只要前後指針都是一樣的數字,我們就把快指針的數字刪除,這樣子後面的數字就會遞補到快指針上,前後指針也就可以保持一樣的位置繼續做下一回合的比對,不需要做前進的動作,只有當前後數字不一樣的時候,前後指針才需要齊頭並進,進行後面的數字比對,直到比對到數組的底部,即完成題目要求的目標。

使用上面的思路,就可以把題目的時間複雜度做到 O(n)