27 移除元素

2021-08-30 15:43:54 字數 1099 閱讀 7153

題目:移除元素

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

示例 1:

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

函式應該返回新的長度 2。

示例 2:

給定 nums = [0,1,2,2,3,0,4,2], val = 2,

函式應該返回新的長度 5。

思路:

1.判斷是否為空。

2.建立兩個指標,i 為慢指標,j 為快指標。

3.快指標從 0 開始遍歷,當快指標 j 等於 val 時,繼續遍歷。

4.當快指標 j 不等於  val 時,將快指標 j 對應的元素賦予慢指標 i,然後 i++。遍歷完畢,慢指標對應的所有元素即為新陣列。

注意點:

1.遍歷時快指標從舊陣列下標 0 開始。

2.慢指標 i 先賦值,後移位。

**:

public class demo27 ;

int len = new solution27().removeelement(nums, 1);

system.out.println(len);

for (int i = 0; i < len; i++) }}

class solution27

// 2.建立兩個指標,i 為慢指標,j 為快指標

int i = 0;

// 3.快指標從 0 開始遍歷,當快指標 j 等於 val 時,繼續遍歷

// 4.當快指標 j 不等於 val 時,將快指標 j 對應的元素賦予慢指標 i,然後 i++。遍歷完畢,慢指標對應的所有元素即為新陣列

for (int j = 0; j < nums.length; j++)

} return i;

}}

27 移除元素

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

27 移除元素

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

27 移除元素

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