LeetCode27——移除元素

LeetCode27——移除元素

LeetCode27——移除元素_第1张图片
LeetCode27——移除元素_第2张图片
自己的解法与官方的解法一致:
LeetCode27——移除元素_第3张图片
LeetCode27——移除元素_第4张图片
时间复杂度O(N)
空间复杂度O(1)

package keepcoding.leetcode.leetcode27;

public class Result01 {
    public static void main(String[] args) {
        int[] arr = {3,2,2,3};
        removeElement(arr,2);
        printArray(arr);
    }
    public static int removeElement(int[] arr,int val){
        //双指针
        int index = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]!=val){
                //将不删除的元素通过重新赋值实现前移
                arr[index] = arr[i];
                index++;
            }
        }
        System.out.println(index);
        return index;
    }
    public static void printArray(int[] arr){
        //打印数组
        for (int i = 0; i < arr.length; i++) {
            if (i==0){
                if(arr.length==1){
                    System.out.println("["+arr[0]+"]");
                }else {
                    System.out.print("["+arr[i]);
                }
            }else if(i==arr.length-1){
                System.out.println(","+arr[i]+"]");
            }else {
                System.out.print(","+arr[i]);
            }
        }
    }

}

你可能感兴趣的:(LeetCode,java,开发语言,leetcode,笔记,学习)