标签:move count lis remove new 面试 == listt for
有个面试题,原地删除数据,当时也没想就从网上查了一下,感觉没啥问题就写上了,可是运行的时候却不是想要的结果。
List<int> listt = new List<int>() {
1,35,8,12,14,16,25,28,99
};
for (int i = 0; i < listt.Count; i++)
{
if (listt[i] % 2 == 0)
{
listt.Remove(listt[i]);
}
}
仔细想想是因为删除之后,i坐标对应的值已经变了。所以做了个改动
List<int> listt = new List<int>() {
1,35,8,12,14,16,25,28,99
};
for (int i = 0; i < listt.Count; i++)
{
if (listt[i] % 2 == 0)
{
listt.Remove(listt[i]);
i--;
}
}
标签:move count lis remove new 面试 == listt for
原文地址:https://www.cnblogs.com/caidie/p/13064761.html