将字符串转换为反向int数组

Abh*_*wal 5 java arrays string

我想优化此解决方案(习惯上)。

我有一个仅包含整数值的字符串。我想将此字符串转换为反向int数组。输出应为整数数组

这是我的解决方案:

private static int[] stringToReversedIntArray(String num) {
    int[] a = new int[num.length()];
    for (int i = 0; i < num.length(); i++) {
        a[i] = Integer.parseInt(num.substring(i, i + 1));
    }
    a = reverse(a);
    return a;
}

/*
 * Reverses an int array
 */
private static int[] reverse(int[] myArray) {
    int[] reversed = new int[myArray.length];
    for (int i = 0; i < myArray.length; i++) {
        reversed[i] = myArray[myArray.length - (i + 1)];
    }
    return reversed;
}

Input: "1256346258"
Output: {8,5,2,6,4,3,6,5,2,1}
Run Code Online (Sandbox Code Playgroud)

请建议如何做。

Zhe*_*lov 0

单线:

return IntStream
    .range(0, num.length())
    .map(i -> Character.getNumericValue(num.charAt(num.length() - i - 1)))
    .toArray();
Run Code Online (Sandbox Code Playgroud)