mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-07 15:45:40 +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">
|
||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||
|
Reference in New Issue
Block a user