TypechoJoeTheme

IT技术分享

统计

[LeetCode 27] Remove Element [Java]

2017-11-23
/
0 评论
/
652 阅读
/
正在检测是否收录...
11/23

1. Description

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

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory. The order of elements can be changed. It doesn't matter what you leave beyond the new length.

2. Example

Given nums = [3,2,2,3], val = 3,
Your function should return length = 2, with the first two elements of nums being 2.

3. Code

public class LeetCode0027 {
    public int removeElement(int[] nums, int val)
    {
        if (nums == null || nums.length == 0) {
            return 0;
        }

        int i = 0;
        int length = nums.length;
        while (i < length) {
            if (nums[i] == val) {
                nums[i] = nums[--length];
            }
            else {
                i++;
            }
        }
        return length;
    }

    public static void main(String[] args)
    {
        LeetCode0027 leetcode = new LeetCode0027();
        int[] nums = new int[] { 3, 2, 2, 3 };
        System.out.println(leetcode.removeElement(nums, 3));
    }
}
Array
朗读
赞 · 0
版权属于:

IT技术分享

本文链接:

https://idunso.com/archives/1280/(转载时请注明本文出处及文章链接)