Leetcode NO.27 Remove Element
来源:互联网 发布:grub安装ubuntu 编辑:程序博客网 时间:2024/06/06 20:46
本题要求如下:
Given an array and a value, remove all instances of that value in place and return the new length.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
这题是道简单题,而且也不是第一次做,所以很快就做出来了。。代码:
class Solution {public: int removeElement(int A[], int n, int elem) { int ptr_i = 0; int ptr_j = n - 1; int len = n; while (ptr_i < len) { if (A[ptr_i] == elem) { swap(A[ptr_i], A[ptr_j--]); --len; } else ++ptr_i; } return len; }};用的是two pointer的方法,思路就是一个前指针,一个后指针,
对前指针遍历,如果遇到了elem,则和后指针指向的元素交换,同时,后指针往前移动,len减1
此时,需要对该元素再次检测,以防其也等于elem。
由于Leetcode改了function的接口,更新下代码
class Solution {public: int removeElement(vector<int>& nums, int val) { int l = 0; int r = nums.size() - 1; while (l <= r) { if (nums[l] == val) { swap(nums[l], nums[r--]); } else { ++l; } } return l; }};
0 0
- Leetcode NO.27 Remove Element
- LeetCode--No.27--Remove Element
- LeetCode(27)Remove Element
- [leetcode 27] Remove Element
- [leetcode 27] Remove Element
- [Leetcode] 27 - Remove Element
- leetcode|27|Remove Element
- LeetCode | #27 Remove Element
- LeetCode 27 : Remove Element
- LeetCode 27 Remove Element
- leetcode-27 Remove Element
- leetcode 27 Remove Element
- LeetCode 27 Remove Element
- LeetCode 27 Remove Element
- leetcode-27 Remove Element
- #27 Remove Element leetcode
- LeetCode---(27) Remove Element
- Leetcode 27 Remove Element
- Verilog数据定义
- c++ 模拟unix系统Funix
- oracle安装
- Leetcode NO.59 Spiral Matrix II
- 学习计算机图形学OpenGL绘图
- Leetcode NO.27 Remove Element
- 一款好用的文件比较工具Meld
- Merge Sorted Array
- Gray Code
- mysql table is read only 解决
- Selenium
- CSDN我的收藏夹链接
- OGC
- [BZOJ 3680]吊打XXX(广义费马点、模拟退火搜索)