leetcode--Remove Element
来源:互联网 发布:linux删除文件权限不够 编辑:程序博客网 时间:2024/05/22 07:58
Given an array and a value, remove all instances of that value in place and return the new length.
Do not allocate extra space for another array, you must do this in place with constant memory.
The order of elements can be changed. It doesn’t matter what you leave beyond the new length.
Example:
Given input array nums = [3,2,2,3], val = 3
Your function should return length = 2, with the first two elements of nums being 2.
解题思路:使用双指针;思路有2两个,一个是移位+存储;另一个是移位+删除;
java版本1:
public class Solution { public int removeElement(int[] nums, int val) { if(nums.length==0) return 0; int j=0; for(int i=0;i<nums.length;i++){ if(nums[i]!=val){ nums[j++]=nums[i]; } } return j; }}
java版本2:
public class Solution { public int removeElement(int[] nums, int val) { if(nums.length==0) return 0; int i=0,j=nums.length-1; while(i<=j){ if(nums[i]==val){ nums[i]=nums[j--]; continue; } i++; } return i; }}
0 0
- LeetCode:Remove Element
- LeetCode: Remove Element
- [Leetcode] Remove Element
- LeetCode: Remove Element
- leetcode 39: Remove Element
- [LeetCode] Remove Element
- Leetcode: Remove Element
- Leetcode:Remove Element
- Leetcode:Remove Element
- Leetcode:Remove Element
- [LeetCode]Remove Element
- LeetCode-Remove Element
- LeetCode - Remove Element
- LeetCode | Remove Element
- leetcode之Remove Element
- LeetCode - Remove Element
- LeetCode: Remove Element
- 【LeetCode】Remove Element
- [swift学习之四]结构体练习
- 设计模式C++学习笔记之十一(Bridge桥梁模式)
- API网关(API Gateway)
- 设计模式之策略模式
- java 读取图片文件再生成新图片
- leetcode--Remove Element
- SocketChannel类(用于阻塞或非阻塞式传输数据) 创建SocketChannel要使用SocketChannel类的静态工厂方法。 SocketChannel open():创建未连接的
- 应用之星:免费的无技术要求的 在线电子书制作平台
- React Native常用组件样式总结
- OpenCV 序列CvSeq
- Integer Break
- [一起学Hive]之六-Hive的动态分区
- 说说Android中的style和theme
- 设计模式C++学习笔记之十二(Command命令模式)