关闭

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

标签: leetcode
594人阅读 评论(0) 收藏 举报
分类:

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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:91337次
    • 积分:2118
    • 等级:
    • 排名:第18706名
    • 原创:125篇
    • 转载:8篇
    • 译文:0篇
    • 评论:16条
    文章分类
    最新评论