LeetCode27.Remove Element
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.
Example:
Given nums = [3,2,2,3], val = 3, Your function should return length = 2, with the first two elements of nums being 2.
思路:遍历所给数组,当找到要移除的数字时,将该数字后面的所有数字前移即可,同时记录的有效长度减一。
修改思路:尽管上面的解法挺快的,用时7ms,然而每次找到目标数字后的那一串移动看上去却不尽人意。和上一篇的相似,在扫描的同时把有效的数字往前移动而非找到目标数字之后再移动,如果检查到的数字并非目标数字,则有效长度加一。
好吧,代码的确变得轻便了一些,但是用时反而慢了5ms……