LeetCode第27题移除元素

653 阅读1分钟

继续打卡算法题,今天学习的是LeetCode的第27题移除元素,这道题目是道简单题。算法题的一些解题思路和技巧真的非常巧妙,每天看一看算法题和解题思路,我相信对我们的编码思维和编码能力有一些帮助。

image.png

分析一波题目

这道题也比较简单,同样使用两个指针就可以搞定,一个指针记录不等于val的数据下标,一个指针用于遍历数组。

编码解决

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;
}

总结

双指针的用法在数组遍历上确实提供了很多便利性,是一个值得收藏的编码小技巧。