27. 移除元素
算法
双指针:
- 一个读指针(通过范围
for遍历nums) - 一个写指针
i,用于记录当前应当写入的位置。 - 每次遇到不等于
val的元素,就写入当前位置i并将i ++
复杂度分析
- 时间复杂度:
O(n),每个元素最多被访问一次 - 空间复杂度:
O(1),只使用了常数额外空间
C++ 代码
|
|
Python 代码
|
|
Go 代码
|
|
JavaScript 代码
|
|
双指针:
for 遍历 nums)i,用于记录当前应当写入的位置。val 的元素,就写入当前位置 i 并将 i ++ O(n),每个元素最多被访问一次O(1),只使用了常数额外空间
|
|
|
|
|
|
|
|