数据结构和算法分析数据结构与算法

Leetcode-27 移除元素

2021-09-26  本文已影响0人  itbird01

27. 移除元素

解题思路

1.用于双指针技巧
2.快慢指针在遇到val值,之前一直向后移动
3.遇到val值,慢指针停止,快指针依然向后移动,直到遇到不是val的值
4.此时交换这两个值
5.直到快指针到达数组的末尾,慢指针处于的位置,就是新数组的长度

解题遇到的问题

1.用双指针的思想去解题

##解法1
class Solution {
    public int removeElement(int[] nums, int val) {
        int slow = 0, sfast = 0;
        while (sfast < nums.length) {
            if (nums[sfast] == val) {
                sfast++;
            } else {
                nums[slow] = nums[sfast];
                sfast++;
                slow++;
            }
        }
        return slow;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读