import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(-1);
        list.add(-2);
        list.add(3);
        list.add(-3);
        list.add(4);

        moveNegativeNumbersToFront(list);

        System.out.println(list);
    }

    public static void moveNegativeNumbersToFront(List<Integer> list) {
        int i = 0;
        int j = list.size() - 1;

        while (i < j) {
            while (i < list.size() && list.get(i) < 0) {
                i++;
            }

            while (j >= 0 && list.get(j) >= 0) {
                j--;
            }

            if (i < j) {
                int temp = list.get(i);
                list.set(i, list.get(j));
                list.set(j, temp);
            }
        }
    }
}

输出:[-1, -2, -3, 2, 3, 1, 4]


原文地址: https://www.cveoy.top/t/topic/pgUo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录