这道题用python写真方便啊!就是运行时间有点长啊!
class Solution(object):
def removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
index=0
while( index < len(nums) ):
if nums[index] == val: #如果nums某个位置的值和val相等
nums.pop(index) #则删除该位置上的元素,同时index的值不变
else: #若不相等,则比较下一个元素,相应的index需要加1
index=index+1
return len(nums)
c语言我根据解析写出来的(其实解析后面就是答案[衰])
int removeElement(int* nums, int numsSize, int val)
{
int i=0,n=numsSize;
while(i<n)
{
if( nums[i] == val )
{
nums[i] = nums[n-1];
--n;
}
else
{
++i;
}
}
return i;
}