leecode27移除元素-手写详解
源代码分析
其实这个题,我进行遍历的时候已经出现问题了,题木要求的是我只需要能够返回返回的数组就行了,所以对于这个题,我们不需要进行交换,只需要进行替换就可以了
改进代码
for(int i=0;i<length-count;i++){
if(nums[i]==val){
nums[i]=nums[length-1-count];
count++;
i--;
}
}
源代码
package 数组;
import java.util.Scanner;
public class 移除元素27 {
public static void main(String[] args) {
int n;
Scanner input = new Scanner(System.in);
System.out.println("请输入数组的长度");
n=input.nextInt();
int[] num = new int[n];
System.out.println("输入数组的元素");
for (int i = 0; i < num.length; i++) {
num[i]= input.nextInt();
}
System.out.println("请输入你要移除的目标值");
int target = input.nextInt();
int index= num.length-removeElement(num,target);
System.out.println(index);
for (int i = 0; i < index; i++) {
System.out.println(num[i]);;
}
}
public static int removeElement(int[] nums, int val) {
int length = nums.length;
//int left=0,right= length-1;
int count=0;
//循环的终止条件需要注意
for(int i=0;i<length-count;i++){
if(nums[i]==val){
int temp = nums[length-1-count];
nums[length-1-count]=nums[i];
nums[i]=temp;
count++;
i--;
}
}
return count;
}
}
本文作者:TranquilGlow
本文链接:https://www.cnblogs.com/xuehaiqiule/p/17621639.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
标签:
,
,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步