mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
添加 0027.移除元素.md Dart相向双指针法
This commit is contained in:
@ -476,6 +476,32 @@ public class Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
###Dart:
|
||||||
|
```dart
|
||||||
|
int removeElement(List<int> nums, int val) {
|
||||||
|
//相向双指针法
|
||||||
|
var left = 0;
|
||||||
|
var right = nums.length - 1;
|
||||||
|
while (left <= right) {
|
||||||
|
//寻找左侧的val,将其被右侧非val覆盖
|
||||||
|
if (nums[left] == val) {
|
||||||
|
while (nums[right] == val&&left<=right) {
|
||||||
|
right--;
|
||||||
|
if (right < 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nums[left] = nums[right--];
|
||||||
|
} else {
|
||||||
|
left++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//覆盖后可以将0至left部分视为所需部分
|
||||||
|
return left;
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
|
Reference in New Issue
Block a user