LeetCode 27.移除元素
生活随笔
收集整理的这篇文章主要介绍了
LeetCode 27.移除元素
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
原题链接
/** @lc app=leetcode.cn id=27 lang=cpp** [27] 移除元素标签:拷贝覆盖主要思路是遍历数组nums,每次取出的数字变量为num,同时设置一个下标ans在遍历过程中如果出现数字与需要移除的值不相同时,则进行拷贝覆盖nums[ans] = num,ans自增1如果相同的时候,则跳过该数字不进行拷贝覆盖,最后ans即为新的数组长度这种思路在移除元素较多时更适合使用,最极端的情况是全部元素都需要移除,遍历一遍结束即可时间复杂度:O(n),空间复杂度:O(1)*/ #include <vector> using namespace std; class Solution { public:int removeElement(vector<int>& nums, int val) {int j =0;//即用来计数,也用来记录下标for(int i=0;i<nums.size();i++){if(nums[i] != val)nums[j++] = nums[i];}return j;} };
总结
以上是生活随笔为你收集整理的LeetCode 27.移除元素的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Leetcode 08. 字符串转换整数
- 下一篇: LeetCode 01. 两数之和