LeetCode - 27. Remove Element


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

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

 
  1. int removeElement(int* nums, int numsSize, int val) {
  2. int i = 0,j = 0;
  3. for(int i = 0 ; i < numsSize ; i++)
  4. {
  5. if(nums[i] == val)
  6. {
  7. continue;
  8. }
  9. nums[j] = nums[i];
  10. j++;
  11. }
  12. return j;
  13. }

留言