leetCode 27.Remove Element (删除元素) 答题思路和方法

leetCode 27.Remove Element (删除元素) 解题思路和方法

Remove Element 


Given an array and a value, remove all instances of that value in place and return the new length.

The order of elements can be changed. It doesn't matter what you leave beyond the new length.


思路:此题和26题一脉相承,算法上不难,具体如代码所示:

public class Solution {
    public int removeElement(int[] nums, int val) {
        int len = nums.length;
        int tempLen = len;
        int step = 0;//每个元素需要向前转移的距离
        for(int i = 0; i < len; i++){
            if(nums[i] == val){
                step++;//若相等步长+1
                tempLen--;//每一个相等的元素长度减少1
            }else{
                nums[i-step] = nums[i];//元素前移n个步长
            }
        }
        return tempLen;
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。