LeetCode 27 移除元素

2021-08-18 08:35:41 字數 836 閱讀 9476

27

. 移除元素

給定乙個陣列和乙個值,在這個陣列中原地

移除指定值和返回移除後新的陣列長度。

不要為其他陣列分配額外空間,你必須使用 o(1) 的額外記憶體原地

修改這個輸入陣列。

元素的順序可以改變。超過返回的新的陣列長度以外的資料無論是什麼都沒關係。

示例:

給定 nums = [3,2,2,3],val = 3,

你的函式應該返回 長度 = 2,陣列的前兩個元素是 2。

思路:

這題和前面的26題基本一樣,可以套用,但是用while的寫法更合適。

答案:

class solution {

public:

int removeelement(vector& nums, int val) {

if(nums.size()==0) return 0;

int i=0,p=0;

while(i

反思:這個**寫得有點不太易懂了,因為提交的時候中間錯了兩次,所以修改了一些細節,然後順利通過了。但是以後應該盡量避免寫出這種需要注釋的**。

但是這個**執行結果還是不錯的:

不過雖然同樣是4ms,但人家給出的範例明顯比我的要優雅高階得多:

還沒仔細看這個**,下次有時間再看,今天先到這裡,歇了。

LeetCode 27 移除元素

給定乙個陣列 nums 和乙個值 val,你需要原地 移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,2,2,3...

leetcode27移除元素

給定乙個陣列 nums 和乙個值 val,你需要原地 移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,2,2,3...

LeetCode 27 移除元素

題目描述 給定乙個陣列 nums 和乙個值 val,你需要原地 移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,...