继续打卡算法题,今天学习的是LeetCode的第27题移除元素,这道题目是道简单题
。算法题的一些解题思路和技巧真的非常巧妙,每天看一看算法题和解题思路,我相信对我们的编码思维和编码能力有一些帮助。
分析一波题目
这道题也比较简单,同样使用两个指针就可以搞定,一个指针记录不等于val的数据下标,一个指针用于遍历数组。
编码解决
go
func removeElement(nums []int, val int) int {
var i int = 0;
var index int = 0;
//不创建新数组,技巧:将不等于目标值的数据往数组前面摞
for i < len(nums) {
if nums[i] != val {
nums[index] = nums[i];
index++;
}
i++;
}
return index;
}
总结
双指针的用法在数组遍历上确实提供了很多便利性,是一个值得收藏的编码小技巧。