#LeetCode:27. Remove Element

灆洢 2018-10-21 12:01:04

#LeetCode:26. Remove Duplicates from Sorted Array 做法類似是用兩個變數去記目前刪除完元素後的數量和正在巡覽陣列時的位置,只是比較的對象變成傳進來的值即可。

C++(4ms)

/*******************************************************/
/* LeetCode 27. Remove Element                         */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2018/10/21                                 */
/*******************************************************/
class Solution {
public:
  int removeElement(vector<int>& nums, int val) {
    if(nums.empty()) return 0;

    int notValueCount = (nums[0] == val) ? 0 : 1;
    for(int i = 1 ; i < nums.size() ; ++i){
      if(nums[i] != val){
        nums[notValueCount] = nums[i];
        ++notValueCount;
      }
    }

    return notValueCount;
  }
};

在〈“#LeetCode:27. Remove Element”〉中有 1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料