LeetCode - 27. Remove Element


題目意思:
  這題主要是給予一個陣列,要求刪除一個給予的數字,最後回傳刪除後字串的長度。

解決方式:
  由於題目強調不能宣告新字串承接,所以做法是利用迴圈,從頭開始,找到要刪去的數字就跳過,如果是要保留的字,從原字串的起始開始取代,這裡可以設定一個變數表示新字串的長度,當取代的動作發生,便++,最後回傳此值即可。

 
int removeElement(int* nums, int numsSize, int val) {
    int i = 0,j = 0;
    for(int i = 0 ; i < numsSize ; i++)
    {
        if(nums[i] == val)
        {
            continue;
        }
        nums[j] = nums[i];
        j++;
    }
    return j;
}

留言