Golang刷LeetCode 26.刪除排序陣列中的重複項

小羊愛吃肉發表於2020-10-04

LeetCode題目
程式碼實現:GO語言

func removeDuplicates(nums []int) int {
    if len(nums)==0{
    return 0
    }
    fast,slow:=0,0
    for fast<len(nums){
        // 如果快指標和慢的不相同讓慢指標繼續 並將快指標的值給慢指標 快指標繼續前進
        if nums[slow]!=nums[fast]{
            slow++
            nums[slow]=nums[fast]
        }
        fast++
    }
    // 最後nums[0..slow]就是最終不重複的排序陣列
    return slow+1
}

解題思路:雙指標求解
利用快慢指標,fast用來遍歷陣列中所有元素來探路,找到不重複就讓slow往前走一步並將那個不重複的元素交給slow指標的位置,最終slow[0…slow]就是最終的結果。

相關文章