码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode解题笔记-Remove Element

时间:2015-08-08 06:39:50      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

题目要求:

去除所有数组内与所给值相等的元素,并且返回新数组的长度。

个人解法:

1.定义一个int len=nums.length当有nums[i]==value时,len--,但是这个仅仅是返回新数组的长度,并没有做到剔除相等元素

参考解法:

1.核心在于,i的值从前往后,len的值从后往前

2.i在外循环递增,len在内循环递减

3.利用nums[--len]的值来代替与value相等的值

代码:

for(int i=0 ;i< len; i++){

while(nums[i]==value&&i<len)

nums[i]=nums[--len]

}

最后,有关i--与--i,一个是先赋值再运算,另外一个是先运算再赋值,例如题中如果--len改为len--就会导致边界溢出

leetcode解题笔记-Remove Element

标签:

原文地址:http://www.cnblogs.com/whaochen/p/4712435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!