題目:
Remove element (移除元素)
難度:
簡單
題目要求:
題目給定一個數組和一個值,刪除數組中和題目給定相同的值,並返回移除數組後的新長度
解題思路:
這一題我看到leetcode很多雙指針的解法,但其實這一題不用到雙指針也可以解決
我解決這題的思路其實就是 26. Remove Duplicates from Sorted Array (刪除有序數組中的重複項) 中的方法,只是雙指針變成了單指針,因為題目已經給定比對的值了
1. 設置邊界條件:
這一題主要也是要設置好邊界條件,避免溢出,邊界條件就是 (當前指針的位置 < 數組長度)
2. 指針前進的思路:
這題指針需要前進的狀況只有 (當前的值 !=目標值),只要 (當前的值 ==目標值),就把當前值原地刪除,後面的值就會遞補到當前指針的位置,再進行下一回合的比對,所以指針不必前進
3. 最後返回數組的總長度
這題的時間複雜度為 O(n),空間複雜度為 O(